Analyzing Program Termination and Complexity Automatically with AProVE

In this system description, we present the tool AProVE for automatic termination and complexity proofs of Java, C, Haskell, Prolog, and rewrite systems. In addition to classical term rewrite systems (TRSs), AProVE also supports rewrite systems containing built-in integers (int-TRSs). To analyze prog...

Full description

Saved in:
Bibliographic Details
Published in:Journal of automated reasoning Vol. 58; no. 1; pp. 3 - 31
Main Authors: Giesl, Jürgen, Aschermann, Cornelius, Brockschmidt, Marc, Emmes, Fabian, Frohn, Florian, Fuhs, Carsten, Hensel, Jera, Otto, Carsten, Plücker, Martin, Schneider-Kamp, Peter, Ströder, Thomas, Swiderski, Stephanie, Thiemann, René
Format: Journal Article
Language:English
Published: Dordrecht Springer Netherlands 01.01.2017
Springer Nature B.V
Subjects:
ISSN:0168-7433, 1573-0670
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:In this system description, we present the tool AProVE for automatic termination and complexity proofs of Java, C, Haskell, Prolog, and rewrite systems. In addition to classical term rewrite systems (TRSs), AProVE also supports rewrite systems containing built-in integers (int-TRSs). To analyze programs in high-level languages, AProVE automatically converts them to (int-)TRSs. Then, a wide range of techniques is employed to prove termination and to infer complexity bounds for the resulting rewrite systems. The generated proofs can be exported to check their correctness using automatic certifiers. To use AProVE in software construction, we present a corresponding plug-in for the popular Eclipse software development environment.
Bibliography:ObjectType-Article-1
SourceType-Scholarly Journals-1
ObjectType-Feature-2
content type line 14
content type line 23
ISSN:0168-7433
1573-0670
DOI:10.1007/s10817-016-9388-y