search menu icon-carat-right cmu-wordmark

Applying FSQ Engineering Foundations to Automated Calculation of Program Behavior

Technical Note
In this report, Richard Linger describes the application of function-theoretic mathematical foundations to the problem of program behavior calculation.
Publisher

Software Engineering Institute

CMU/SEI Report Number
CMU/SEI-2003-TN-003
DOI (Digital Object Identifier)
10.1184/R1/6571982.v1

Abstract

No software engineer can say with assurance how a sizable program, with its virtually infinite number of possible execution paths, will behave, that is, what it will do, in all circumstances of use. This incredible reality, widely acknowledged but little discussed, lies at the heart of intractable problems experienced in software development and use over the past 40 years. If full behavior is unknown, so too are embedded errors, vulnerabilities, and malicious code that can emerge in use. While this reality has seemed inevitable in the past, it need not be so in the future. The SEI CERT Research Center has been conducting research on Flow-Service-Quality (FSQ) engineering for complex, network-centric system analysis and development. FSQ Flow Structures treat the control structures of programs as rules, or implementations, of mathematical functions, that is, mappings from domains to ranges. The function, or behavior, of any control structure can be abstracted into a procedure-free statement that specifies its net functional effect in all circumstances of use with mathematical precision. The finite number of control structures in a program can be abstracted in stepwise fashion in an algebra of functions, to arrive at a precise statement of the program's overall behavior. The mathematical foundations largely exist, and development of such a capability is feasible, albeit difficult. Automated program behavior calculation would have a dramatic effect on software and systems engineering, and enable a new level of assurance in trustworthy systems. This report briefly summarizes research to date on Flow Structures and describes the application of their function-theoretic mathematical foundations to the problem of program behavior calculation

Cite This Technical Note

Linger, R. (2003, February 1). Applying FSQ Engineering Foundations to Automated Calculation of Program Behavior. (Technical Note CMU/SEI-2003-TN-003). Retrieved April 20, 2024, from https://doi.org/10.1184/R1/6571982.v1.

@techreport{linger_2003,
author={Linger, Richard},
title={Applying FSQ Engineering Foundations to Automated Calculation of Program Behavior},
month={Feb},
year={2003},
number={CMU/SEI-2003-TN-003},
howpublished={Carnegie Mellon University, Software Engineering Institute's Digital Library},
url={https://doi.org/10.1184/R1/6571982.v1},
note={Accessed: 2024-Apr-20}
}

Linger, Richard. "Applying FSQ Engineering Foundations to Automated Calculation of Program Behavior." (CMU/SEI-2003-TN-003). Carnegie Mellon University, Software Engineering Institute's Digital Library. Software Engineering Institute, February 1, 2003. https://doi.org/10.1184/R1/6571982.v1.

R. Linger, "Applying FSQ Engineering Foundations to Automated Calculation of Program Behavior," Carnegie Mellon University, Software Engineering Institute's Digital Library. Software Engineering Institute, Technical Note CMU/SEI-2003-TN-003, 1-Feb-2003 [Online]. Available: https://doi.org/10.1184/R1/6571982.v1. [Accessed: 20-Apr-2024].

Linger, Richard. "Applying FSQ Engineering Foundations to Automated Calculation of Program Behavior." (Technical Note CMU/SEI-2003-TN-003). Carnegie Mellon University, Software Engineering Institute's Digital Library, Software Engineering Institute, 1 Feb. 2003. https://doi.org/10.1184/R1/6571982.v1. Accessed 20 Apr. 2024.

Linger, Richard. Applying FSQ Engineering Foundations to Automated Calculation of Program Behavior. CMU/SEI-2003-TN-003. Software Engineering Institute. 2003. https://doi.org/10.1184/R1/6571982.v1