Browse Prior Art Database

Context-Aware Software Builds

IP.com Disclosure Number: IPCOM000255403D
Publication Date: 2018-Sep-25

Publishing Venue

The IP.com Prior Art Database

Abstract

Software libraries are of the static or dynamic variety. In a static library, code from the library is integrated into the executable at compile time. The resulting executable is relatively large but runs fast and in a stand-alone manner. In a dynamic library, code from the library is linked to the executable at run-time. The executable is smaller, and due to the sharing of dynamic libraries across processes, has less memory overhead. However, running the executable is contingent on the presence of the dynamic library in the machine that it runs on. Linking a library at run-time can also cause loss in speed. This disclosure presents machine-learning based techniques to optimally identify a build target as a shared or static library. A recommendation is made to the software developer regarding an optimal setting (dynamic or static) for compilation. The techniques enable a developer to make informed design decisions. KEYWORDS Software library; shared library; static library; dynamically linked library; makefile; build system; build tool; dynamic library; directed acyclic graph; depth-first search; executable