![]() |
|
|
|
|
Function Extraction (FX) deals with the semantics of software behavior. All levels of abstraction in the development of software systems embody behavioral semantics, from low-level machine language operations to high-level system capabilities. As software systems are developed and evolve over time, semantic content is continuously created, intentionally or unintentionally, correct or incorrect. Effective development and evolution of a system depend on how well its behavioral semantics are understood. The complexity and quantity of accumulated behavioral semantics can overwhelm developers, leading to loss of intellectual control.The ultimate goal of FX technology is to calculate full semantic behavior at all levels of system abstraction, from specification to design to implementation. This goal requires automating the computation and composition of behaviors in the languages employed to express such artifacts. These languages, whatever their level of abstraction, embody definitions of the behavioral semantics of their structures. Function Extractor development begins with a well-defined language whose semantics can be captured in terms of the functions of its structures and the rules that govern their combination. Any system artifact written in that language can then be submitted to the Function Extractor, which will apply the functional semantics of the structures to produce as output a catalog containing all cases of behavior defined by the artifact. This behavior is expressed in non-procedural form, essentially defining the as-built specification of the artifact in terms of its mapping of inputs into outputs.
Journal Publications
- P. Hausler, R. Linger, M. Pleszkoch, and A. Hevner, "Using Function Abstraction to Understand Program Behavior," IEEE Software, Vol. 7, No. 1, January 1990, pp. 55-63. (Available at http://doi.ieeecomputersociety.org/10.1109/52.43050 )
Refereed Conference Publications and Technical Reports
- R. Collins, A. Hevner, G. Walton, and R. Linger, “The CERT Function Extraction Experiment: Quantifying FX Impact on Software Comprehension and Verification,” CMU/SEI-2005-TN-047, Software Engineering Institute, Carnegie Mellon University, December 2005. (Available at http://www.sei.cmu.edu/publications/documents/05.reports/05tn047.html )
- A. Hevner, R. Linger, R. Collins, M. Pleszkoch, S. Prowell, and G. Walton, “The Impact of Function Extraction Technology on Next-Generation Software Engineering,” Technical Report CMU/SEI-2005-TR, Software Engineering Institute, Carnegie Mellon University, June 2005. (Available at http://www.sei.cmu.edu/publications/documents/05.reports/05tr015.html )
- M. Pleszkoch, R. Linger, and A. Hevner, "Eliminating Non-Traversable Paths from Structured Programs," Proceedings of the Conference on Software Maintenance - 1992, Orlando, November 1992, pp. 156-164.
- M. Pleszkoch, P. Hausler, A. Hevner, and R. Linger, "Function-Theoretic Principles of Program Understanding," Proceedings of the 23rd Annual Hawaii International Conference on System Sciences, Vol. II - Software Track, Hawaii, January 1990, pp. 74-81.
- A. Hevner and R. Linger, "A Method for Data Re-engineering in Structured Programs," Proceedings of the 22nd Annual Hawaii International Conference on System Sciences, Vol. 1 - Software Track, Hawaii, January 1989, pp. 1025-1034.