FuncTion

Programming errors which cause non-termination can compromise software systems by making them irresponsive. Notorious examples are the Microsoft Zune Z2K bug[1] and the Microsoft Azure Storage service interruption[2]. Termination bugs can also be exploited in denial-of-service attacks[3]. Therefore, proving program termination is important for ensuring software reliability.

FuncTion

The traditional method for proving termination is based on the synthesis of a ranking function, a well-founded metric which strictly decreases during the program execution. The goal of the project was the development of a static analyzer which automatically infers ranking functions and sufficient precondition for program termination (and other liveness properties) by means of abstract interpretation. The static analyzer is open-source and available on GitHub.

Completed Projects

Publications

Talks

Bringing Abstract Interpretation To Termination And Beyond
Thursday, May 19, 2016
🇫🇷 Analyse Statique par Interprétation Abstraite de Propriétés Temporelles des Programmes
Thursday, January 28, 2016 8:45 AM
Counterexample-Guided Inference of Ranking Functions
Thursday, July 30, 2015 3:30 PM
Proving Guarantee and Recurrence Temporal Properties by Abstract Interpretation
Thursday, December 18, 2014 10:30 AM
Proving Guarantee and Recurrence Temporal Properties by Abstract Interpretation
Monday, November 3, 2014 10:30 AM
Automatic Inference of Ranking Functions by Abstract Interpretation
Wednesday, October 1, 2014 11:00 AM
Automatic Inference of Ranking Functions by Abstract Interpretation
Tuesday, August 26, 2014
Automatic Inference of Ranking Functions by Abstract Interpretation
Wednesday, June 18, 2014 4:00 PM
An Abstract Domain to Infer Ordinal-Valued Ranking Functions
Wednesday, May 28, 2014 2:30 PM
Automatic Inference of Ranking Functions by Abstract Interpretation
Tuesday, March 18, 2014 2:00 PM
Automatic Inference of Ranking Functions by Abstract Interpretation
Thursday, January 16, 2014 11:00 AM
The Abstract Domain of Piecewise-Defined Ranking Functions
Thursday, November 28, 2013 3:00 PM
The Abstract Domain of Piecewise-Defined Ranking Functions
Saturday, November 23, 2013 2:00 PM
The Abstract Domain of Segmented Ranking Functions
Monday, March 25, 2013 11:30 AM