Publication | Open Access
Synthesising Interprocedural Bit-Precise Termination Proofs (T)
28
Citations
21
References
2015
Year
Unknown Venue
Program CheckingEngineeringVerificationSoftware EngineeringAutomated ProofSoftware AnalysisFormal VerificationProgram TerminationProof ComplexityFormal TechniqueRuntime VerificationAbstract InterpretationComputer EngineeringComputer ScienceStatic Program AnalysisCryptographyAutomated ReasoningProgram AnalysisSoftware TestingModular Termination AnalysisFormal MethodsFunction TemplatesSymbolic Execution
Proving program termination is key to guaranteeing absence of undesirable behaviour, such as hanging programs and even security vulnerabilities such as denial-of-service attacks. To make termination checks scale to large systems, interprocedural termination analysis seems essential, which is a largely unexplored area of research in termination analysis, where most effort has focussed on difficult single-procedure problems. We present a modular termination analysis for C programs using template-based interprocedural summarisation. Our analysis combines a context-sensitive, over-approximating forward analysis with the inference of under-approximating preconditions for termination. Bit-precise termination arguments are synthesised over lexicographic linear ranking function templates. Our experimental results show that our tool 2LS outperforms state-of-the-art alternatives, and demonstrate the clear advantage of interprocedural reasoning over monolithic analysis in terms of efficiency, while retaining comparable precision.
| Year | Citations | |
|---|---|---|
Page 1
Page 1