2004 · 30 citations · 7 references
EngineeringInformation SecurityVerificationSoftware EngineeringSecurity EvaluationSoftware AnalysisFormal VerificationAutomated Behavior CalculationNetwork System SecurityMalicious AttacksSecurity ModellingSystems EngineeringProgram DerivationSystem SecurityComputer EngineeringComputer ScienceStatic Program AnalysisLanguage-based SecurityData SecurityProgram BehaviorSecurity Testing MethodSoftware SecurityProgram AnalysisSoftware TestingFormal MethodsAutomated CalculationSymbolic ExecutionSystem Software
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 procedure-free 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.
7
Cleanroom Software Engineering
Harlan D. Mills, Michael Dyer, R.C. Linger · IEEE Software · 1987 · 431 citations
Software Maintenance, Total Quality Management, Engineering +20
Using function abstraction to understand program behavior
Philip A. Hausler, Mark G. Pleszkoch, R.C. Linger et al. · IEEE Software · 1990 · 93 citations
Function Abstraction, Miniature Cobol Program, Engineering +15