Date of Original Version
Abstract or Table of Contents
Currently, software engineers lack practical means to determine the full functional behavior of complex programs. This gap in intellectual control is the source of many long-standing and intractable problems in security, software, and systems engineering. Function Extraction (FX) technology is directed to automated computation of full program behavior. FX is based on function-theoretic mathematical foundations of software that illuminate algorithmic methods for behavior computation. FX holds promise to replace resource-intensive, error-prone analysis of program behavior in human time scale with fast and correct analysis in computer time scale. The CERT organization of the Software Engineering Institute is conducting research and development in FX technology and is developing a Function Extraction for Malicious Code system to rapidly determine the behavior of malicious code expressed in Assembler Language. FX technology has the potential for transformational impact across the software engineering life cycle, from specification and design to implementation, testing, and evolution. This study investigates these impacts and, based on a survey of software professionals, defines a strategy for FX evolution that addresses high-leverage opportunities first. FX is an initial step in developing next-generation software engineering as a computational discipline.