Book section Open Access

# Precise Widening Operators for Proving Termination by Abstract Interpretation

Courant, Nathanaël; Urban, Caterina

### Citation Style Language JSON Export

{
"DOI": "10.1007/978-3-662-54577-5_8",
"author": [
{
"family": "Courant, Nathana\u00ebl"
},
{
"family": "Urban, Caterina"
}
],
"issued": {
"date-parts": [
[
2017,
1,
1
]
]
},
"abstract": "FuncTion is a static analyzer designed for proving conditional termination of C programs by means of abstract interpretation. Its underlying abstract domain is based on piecewise-defined functions, which provide an upper bound on the number of program execution steps until termination as a function of the program variables.\n\t\nIn this paper, we fully parameterize various aspects of the abstract domain, gaining a flexible balance between the precision and the cost of the analysis. We propose heuristics to improve the fixpoint extrapolation strategy (i.e., the widening operator) of the abstract domain. In particular we identify new widening operators, which combine these heuristics to dramatically increase the precision of the analysis while offering good cost compromises. We also introduce a more precise, albeit costly, variable assignment operator and the support for choosing between integer and rational values for the piecewise-defined functions. \n\t \nWe combined these improvements to obtain an implementation of the abstract domain which subsumes the previous implementation. We provide experimental evidence in comparison with state-of-the-art tools showing a considerable improvement in precision at a minor cost in performance.",
"title": "Precise Widening Operators for Proving Termination by Abstract Interpretation",
"type": "chapter",
"id": "894778"
}
79
153
views