Publication | Closed Access
Termination proofs for systems code
234
Citations
7
References
2006
Year
Unknown Venue
Program CheckingEngineeringVerificationSoftware EngineeringAutomated ProofTermination ProofsSoftware AnalysisFormal VerificationSymbolic ExecutionFormal TechniqueStatic CheckingFormal SpecificationRuntime VerificationComputer EngineeringComputer ScienceLarge Program FragmentsStatic Program AnalysisProgram AnalysisAutomated ReasoningSoftware TestingFormal MethodsProgram TerminationSystem SoftwareTermination Argument
Program termination is central to the process of ensuring that systems code can always react. We describe a new program termination prover that performs a path-sensitive and context-sensitive program analysis and provides capacity for large program fragments (i.e. more than 20,000 lines of code) together with support for programming language features such as arbitrarily nested loops, pointers, function-pointers, side-effects, etc.We also present experimental results on device driver dispatch routines from theWindows operating system. The most distinguishing aspect of our tool is how it shifts the balance between the two tasks of constructing and respectively checking the termination argument. Checking becomes the hard step. In this paper we show how we solve the corresponding challenge of checking with binary reachability analysis.
| Year | Citations | |
|---|---|---|
Page 1
Page 1