## Improving Network System Security with Function Extraction Technology for Automated Calculation of Program Behavior (2004)

Venue: | In Proceedings of the 37th Annual Hawaii International Conference on System Sciences. IEEE |

Citations: | 17 - 10 self |

### BibTeX

@INPROCEEDINGS{Pleszkoch04improvingnetwork,

author = {Mark G. Pleszkoch and Richard C. Linger},

title = {Improving Network System Security with Function Extraction Technology for Automated Calculation of Program Behavior},

booktitle = {In Proceedings of the 37th Annual Hawaii International Conference on System Sciences. IEEE},

year = {2004},

pages = {5--8},

publisher = {Society Press}

}

### OpenURL

### Abstract

Malicious attacks on systems are a threat to business, government, and defense. Many attacks exploit system behavior unknown to the developers who created it. In today’s state of art, software engineers have no practical means to determine how a sizable program will behave in all circumstances of use. This sobering reality lies at the heart of many problems in security and survivability. If full behavior is unknown, so too are embedded errors, vulnerabilities, and malicious code. This paper describes function-theoretic foundations for automated calculation of full program behavior. These foundations treat program control structures as mathematical functions or relations. The function, or behavior, of control structures can be abstracted in a stepwise process into procedurefree expressions that specify their net functional effects. Problems of computability and complexities of language semantics appear to have engineering solutions. Automated behavior calculation will add rigor to security and survivability engineering. 1. Understanding Program Behavior Traditional engineering disciplines depend on rigorous methods to evaluate the expressions (equations, for example) that represent and manipulate their subject matter. Yet the discipline of software engineering has no practical means to fully evaluate the expressions it produces. In this case, the expressions are computer programs, and evaluation means understanding their full behavior, right or wrong, intended or malicious. Short of substantial time and effort, no software engineer can say for sure what a sizable program does in all circumstances of use. Yet modern society is dependent on the correct functioning of countless large-scale systems composed of programs whose full behavior and security properties are

### Citations

114 |
Computability and Unsolvability
- Davis
- 1958
(Show Context)
Citation Context .... Because even a single while loop can compute an arbitrary partial recursive function, many results from computability theory stand in the way. For example, the undecidability of the Halting Problem =-=[2]-=- means that there will be some terminating loops that automated function extractors will not be able to detect as terminating. The undecidability of program function equivalence implies that a functio... |

50 |
Witt: Structured programming: Theory and Practice
- Linger, Mills, et al.
- 1979
(Show Context)
Citation Context ...he sequential logic of programs can be composed of single-entry, single-exit sequence (composition), alternation (ifthenelse), and iteration (whiledo) control structures, plus variants and extensions =-=[7, 15]-=-. This finite property of program logic viewed through the lens of function theory opens the possibility of automated calculation of program behavior. Every control structure in a program has a behavi... |

43 |
Generalized Aliasing as a Basis for Program Analysis Tools
- O’Callahan
- 2000
(Show Context)
Citation Context ...eory of static analysis is rich and deep, and has been extensively generalized using mathematical lattice theory [1]. Recent application of static analysis to the problem of identifying data aliasing =-=[12]-=- has proven to be a powerful tool in program understanding. However, it is important to note that the objective of function extraction goes well beyond the scope of static analysis. FX considers the C... |

28 |
Using Function Abstraction to Understand Program Behaviour
- Haulser, Pleszkoch, et al.
- 1990
(Show Context)
Citation Context ...esearch. 2. Program Behavior Signatures The behavior signature of a program control structure defines its net functional effect in terms of how it transforms input data values into output data values =-=[3, 13]-=-. Behavior signatures are inherently procedure-free, that is, they define behavior with all sequence, branching and looping logic and local data items abstracted out to facilitate human understanding.... |

15 | Principles of Information Systems Analysis and Design - Mills, Linger, et al. - 1986 |

15 |
Function-Theoretic Principles of Program Understanding
- Pleszkoch, Hausler, et al.
- 1990
(Show Context)
Citation Context ...esearch. 2. Program Behavior Signatures The behavior signature of a program control structure defines its net functional effect in terms of how it transforms input data values into output data values =-=[3, 13]-=-. Behavior signatures are inherently procedure-free, that is, they define behavior with all sequence, branching and looping logic and local data items abstracted out to facilitate human understanding.... |

13 | The Flow-Service-Quality Framework: Unified Engineering for Large-Scale Adaptive Systems - Hevner, Linger, et al. - 2002 |

11 |
Cleanroom software engineering: technology and process
- Prowell
- 1999
(Show Context)
Citation Context ... it was extracted, that is, the signature and control structure are functionequivalent mappings of inputs into outputs. Thus, signatures can be freely substituted for corresponding control structures =-=[14]-=-. Such substitution defines an algebra of functions that permits stepwise extraction of program behavior by traversing control structure hierarchies from bottom to top. At each step, net effects of co... |

7 | Specifying Large-Scale Adaptive Systems with Flow-Service-Quality Objects, OOPSLA 2001 - Hevner, Linger, et al. |

6 |
FlowService-Quality Engineering: Foundations for Network System Analysis and Development
- Linger, Pleszkoch, et al.
- 2002
(Show Context)
Citation Context ...bsets can prove useful in behavior calculation. In addition to these function equations, key theorems of function-theoretic mathematics provide important guidance for the behavior calculation process =-=[7, 8]-=-: Logic Structure Theorem: This theorem guarantees the sufficiency of sequence, alternation, and iteration control structures to represent any sequential logic. (Extensions and variants of these struc... |

6 | Cleanroom Software Engineering", Encyclopedia of Software Engineering - Mills, Linger - 2002 |

2 |
A Basis for a Mathematical Theory of Computation", Computer Programming and Formal
- McCarthy
- 1963
(Show Context)
Citation Context ...n is very close in spirit to symbolic evaluation. In particular, substitution of symbolic results through composition of program statements is at the foundation of trace table analysis. Like McCarthy =-=[9]-=-, we share a deep appreciation for the application of recursiontheoretic results to the problem of expressing program behavior symbolically. Yet in addition to this respect for recursion theory, behav... |