Skip to main content
Erschienen in: Journal of Automated Reasoning 1/2017

21.10.2016

Analyzing Program Termination and Complexity Automatically with AProVE

verfasst von: Jürgen Giesl, Cornelius Aschermann, Marc Brockschmidt, Fabian Emmes, Florian Frohn, Carsten Fuhs, Jera Hensel, Carsten Otto, Martin Plücker, Peter Schneider-Kamp, Thomas Ströder, Stephanie Swiderski, René Thiemann

Erschienen in: Journal of Automated Reasoning | Ausgabe 1/2017

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

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.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Anhänge
Nur mit Berechtigung zugänglich
Fußnoten
1
In our earlier papers, this was often called a termination graph.
 
2
While termination can be analyzed for Java, C, Haskell, Prolog, TRSs, and int-TRSs, the current version of AProVE analyzes complexity only for Prolog and TRSs. In addition, complexity of integer transition systems (a restriction of int-TRSs) is analyzed by calling the tools KoAT and LoAT.
 
3
An initial “ExampleProject ” with several examples in different programming languages can be created by clicking on the “AProVE ” entry in Eclipse’s menu bar.
 
4
In (C), TRSs are listed as “QDP” (dependency pair problems [37]) and int-TRSs are shown as “IRSwT” (“Integer Rewrite Systems with Terms”).
 
5
See http://​www.​termination-portal.​org/​wiki/​Java_​Bytecode for the conventions of the Termination Competition, which also contain a detailed discussion of the limitations imposed on analyzed Java programs.
 
6
Here, LLVM stands for the intermediate representation of the LLVM compilation framework [46]. To analyze C programs, they are first compiled to LLVM and analyzed afterwards. This is similar to our approach for Java where we consider Java Bytecode instead of Java source code.
 
7
In the Proof Tree View, we do not only have complexity icons like or for problems, but proof steps also result in complexities (e.g., or ). More precisely, in each proof step, a problem P is transformed into a new problem \(P'\) and a complexity c from the rewrite rule(s) whose contribution to P’s complexity is accounted for in this step. Then the complexity of P is bounded by the maximum (asymptotically equivalent to the sum) of \(P'\)’s complexity and c.
 
8
So our int-TRSs extend int -based TRSs from [27] by constructors and restrict integer TRSs (ITRSs) from [33] by not allowing nested defined symbols.
 
9
The nesting level of a variable x in a term \(t = f(t_1, \ldots , t_n)\) is \(\mathsf {nl}(t, x) = 1 + \max \{ \mathsf {nl}(t_i, x) \mid 1 \le i \le n, x \in {{\mathrm{\mathcal {V}}}}_{\mathcal {T\!A}}(t_i) \}\) if \(x \in {{\mathrm{\mathcal {V}}}}_{\mathcal {T\!A}}(t)\), where \(\mathsf {nl}(x,x) = 0\), and \(\mathsf {nl}(t, x) = \infty \) if \(x \notin {{\mathrm{\mathcal {V}}}}_{\mathcal {T\!A}}(t)\).
 
10
The results for the C benchmarks are similar.
 
11
So this concept of polynomial interpretations encompasses both polynomial ranking functions for defined function symbols and size measures/norms/abstractions for constructors of data structures.
 
Literatur
1.
Zurück zum Zitat Albert, E., Arenas, P., Genaim, S., Puebla, G., Zanardini, D.: Removing useless variables in cost analysis of Java Bytecode. In: SAC ’08, pp. 368–375 (2008) Albert, E., Arenas, P., Genaim, S., Puebla, G., Zanardini, D.: Removing useless variables in cost analysis of Java Bytecode. In: SAC ’08, pp. 368–375 (2008)
2.
Zurück zum Zitat Alias, C., Darte, A., Feautrier, P., Gonnord, L.: Multi-dimensional rankings, program termination, and complexity bounds of flowchart programs. In: SAS ’10, pp. 117–133 (2010) Alias, C., Darte, A., Feautrier, P., Gonnord, L.: Multi-dimensional rankings, program termination, and complexity bounds of flowchart programs. In: SAS ’10, pp. 117–133 (2010)
3.
Zurück zum Zitat Alpuente, M., Escobar, S., Lucas, S.: Removing redundant arguments automatically. TPLP 7(1–2), 3–35 (2007)MathSciNetMATH Alpuente, M., Escobar, S., Lucas, S.: Removing redundant arguments automatically. TPLP 7(1–2), 3–35 (2007)MathSciNetMATH
5.
6.
Zurück zum Zitat Bertot, Y., Castéran, P.: Coq’Art. Springer, Berlin (2004)MATH Bertot, Y., Castéran, P.: Coq’Art. Springer, Berlin (2004)MATH
7.
Zurück zum Zitat Blanqui, F., Koprowski, A.: CoLoR: A Coq library on well-founded rewrite relations and its application to the automated verification of termination certificates. Math. Struct. Comput. Sci. 4, 827–859 (2011)MathSciNetCrossRefMATH Blanqui, F., Koprowski, A.: CoLoR: A Coq library on well-founded rewrite relations and its application to the automated verification of termination certificates. Math. Struct. Comput. Sci. 4, 827–859 (2011)MathSciNetCrossRefMATH
8.
Zurück zum Zitat Bradley, A.R., Manna, Z., Sipma, H.B.: Linear ranking with reachability. In: CAV ’05, pp. 491–504 (2005) Bradley, A.R., Manna, Z., Sipma, H.B.: Linear ranking with reachability. In: CAV ’05, pp. 491–504 (2005)
9.
Zurück zum Zitat Bray, T.: The JavaScript object notation (JSON) data interchange format. (2014). RFC 7159 Bray, T.: The JavaScript object notation (JSON) data interchange format. (2014). RFC 7159
10.
Zurück zum Zitat Brockschmidt, M., Otto, C., Giesl, J.: Modular termination proofs of recursive Java Bytecode programs by term rewriting. In: RTA ’11, pp. 155–170 (2011) Brockschmidt, M., Otto, C., Giesl, J.: Modular termination proofs of recursive Java Bytecode programs by term rewriting. In: RTA ’11, pp. 155–170 (2011)
11.
Zurück zum Zitat Brockschmidt, M., Ströder, T., Otto, C., Giesl, J.: Automated detection of non-termination and NullPointerExceptions for Java Bytecode. In: FoVeOOS ’11, pp. 123–141 (2012) Brockschmidt, M., Ströder, T., Otto, C., Giesl, J.: Automated detection of non-termination and NullPointerExceptions for Java Bytecode. In: FoVeOOS ’11, pp. 123–141 (2012)
12.
Zurück zum Zitat Brockschmidt, M., Musiol, R., Otto, C., Giesl, J.: Automated termination proofs for Java programs with cyclic data. In: CAV ’12, pp. 105–122 (2012) Brockschmidt, M., Musiol, R., Otto, C., Giesl, J.: Automated termination proofs for Java programs with cyclic data. In: CAV ’12, pp. 105–122 (2012)
13.
Zurück zum Zitat Brockschmidt, M., Cook, B., Fuhs, C.: Better termination proving through cooperation. In: CAV ’13, pp. 413–429 (2013) Brockschmidt, M., Cook, B., Fuhs, C.: Better termination proving through cooperation. In: CAV ’13, pp. 413–429 (2013)
14.
Zurück zum Zitat Brockschmidt, M., Emmes, F., Falke, S., Fuhs, C., Giesl, J.: Analyzing runtime and size complexity of integer programs. ACM TOPLAS 38(4), 13:1–13:50 (2016)CrossRef Brockschmidt, M., Emmes, F., Falke, S., Fuhs, C., Giesl, J.: Analyzing runtime and size complexity of integer programs. ACM TOPLAS 38(4), 13:1–13:50 (2016)CrossRef
15.
Zurück zum Zitat Christ, J., Hoenicke, J., Nutz, A.: SMTInterpol: an interpolating SMT solver. In: SPIN ’12, pp. 248–254 (2012) Christ, J., Hoenicke, J., Nutz, A.: SMTInterpol: an interpolating SMT solver. In: SPIN ’12, pp. 248–254 (2012)
16.
Zurück zum Zitat Codish, M., Fekete, Y., Fuhs, C., Giesl, J., Waldmann, J.: Exotic semiring constraints (extended abstract). In: SMT ’12, pp. 87–96 (2012) Codish, M., Fekete, Y., Fuhs, C., Giesl, J., Waldmann, J.: Exotic semiring constraints (extended abstract). In: SMT ’12, pp. 87–96 (2012)
17.
Zurück zum Zitat Codish, M., Giesl, J., Schneider-Kamp, P., Thiemann, R.: SAT solving for termination proofs with recursive path orders and dependency pairs. JAR 49(1), 53–93 (2012)MathSciNetCrossRefMATH Codish, M., Giesl, J., Schneider-Kamp, P., Thiemann, R.: SAT solving for termination proofs with recursive path orders and dependency pairs. JAR 49(1), 53–93 (2012)MathSciNetCrossRefMATH
18.
Zurück zum Zitat Contejean, E., Courtieu, P., Forest, J., Pons, O., Urbain, X.: Automated certified proofs with CiME3. In: RTA ’11, pp. 21–30 (2011) Contejean, E., Courtieu, P., Forest, J., Pons, O., Urbain, X.: Automated certified proofs with CiME3. In: RTA ’11, pp. 21–30 (2011)
19.
Zurück zum Zitat Cook, B., See, A., Zuleger, F.: Ramsey vs. lexicographic termination proving. In: TACAS ’13, pp. 47–61 (2013) Cook, B., See, A., Zuleger, F.: Ramsey vs. lexicographic termination proving. In: TACAS ’13, pp. 47–61 (2013)
20.
Zurück zum Zitat Cousot, P., Cousot, R.: Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: POPL ’77, pp. 238–252 (1977) Cousot, P., Cousot, R.: Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: POPL ’77, pp. 238–252 (1977)
21.
Zurück zum Zitat de Moura, L.M., Bjørner, N.: Z3: an efficient SMT solver. In: TACAS ’08, pp. 337–340 (2008) de Moura, L.M., Bjørner, N.: Z3: an efficient SMT solver. In: TACAS ’08, pp. 337–340 (2008)
24.
Zurück zum Zitat Eén, N., Sörensson, N.: An extensible SAT-solver. In: SAT ’03, pp. 502–518 (2004) Eén, N., Sörensson, N.: An extensible SAT-solver. In: SAT ’03, pp. 502–518 (2004)
25.
Zurück zum Zitat Emmes, F., Enger, T., Giesl, J.: Proving non-looping non-termination automatically. In: IJCAR ’12, pp. 225–240 (2012) Emmes, F., Enger, T., Giesl, J.: Proving non-looping non-termination automatically. In: IJCAR ’12, pp. 225–240 (2012)
26.
Zurück zum Zitat Endrullis, J., Waldmann, J., Zantema, H.: Matrix interpretations for proving termination of term rewriting. JAR 40(2–3), 195–220 (2008)MathSciNetCrossRefMATH Endrullis, J., Waldmann, J., Zantema, H.: Matrix interpretations for proving termination of term rewriting. JAR 40(2–3), 195–220 (2008)MathSciNetCrossRefMATH
27.
Zurück zum Zitat Falke, S., Kapur, D., Sinz, C.: Termination analysis of C programs using compiler intermediate languages. In: RTA ’11, pp. 41–50 (2011) Falke, S., Kapur, D., Sinz, C.: Termination analysis of C programs using compiler intermediate languages. In: RTA ’11, pp. 41–50 (2011)
28.
Zurück zum Zitat Frohn, F., Giesl, J., Hensel, J., Aschermann, C., Ströder, T.: Inferring lower bounds for runtime complexity. In: RTA ’15, pp. 334–349 (2015) Frohn, F., Giesl, J., Hensel, J., Aschermann, C., Ströder, T.: Inferring lower bounds for runtime complexity. In: RTA ’15, pp. 334–349 (2015)
29.
Zurück zum Zitat Frohn, F., Naaf, M., Hensel, J., Brockschmidt, M., Giesl, J.: Lower runtime bounds for integer programs. In: IJCAR ’16, pp. 550–567 (2016) Frohn, F., Naaf, M., Hensel, J., Brockschmidt, M., Giesl, J.: Lower runtime bounds for integer programs. In: IJCAR ’16, pp. 550–567 (2016)
30.
Zurück zum Zitat Fuhs, C., Giesl, J., Middeldorp, A., Schneider-Kamp, P., Thiemann, R.,Zankl, H.: SAT solving for termination analysis with polynomial interpretations. In: SAT ’07, pp. 340–354 (2007) Fuhs, C., Giesl, J., Middeldorp, A., Schneider-Kamp, P., Thiemann, R.,Zankl, H.: SAT solving for termination analysis with polynomial interpretations. In: SAT ’07, pp. 340–354 (2007)
31.
Zurück zum Zitat Fuhs, C., Giesl, J., Middeldorp, A., Schneider-Kamp, P., Thiemann, R., Zankl, H.: Maximal termination. In: RTA ’08, pp. 110–125 (2008) Fuhs, C., Giesl, J., Middeldorp, A., Schneider-Kamp, P., Thiemann, R., Zankl, H.: Maximal termination. In: RTA ’08, pp. 110–125 (2008)
32.
Zurück zum Zitat Fuhs, C., Navarro-Marset, R., Otto, C., Giesl, J., Lucas, S., Schneider-Kamp, P.: Search techniques for rational polynomial orders. In: AISC ’08, pp. 109–124 (2008) Fuhs, C., Navarro-Marset, R., Otto, C., Giesl, J., Lucas, S., Schneider-Kamp, P.: Search techniques for rational polynomial orders. In: AISC ’08, pp. 109–124 (2008)
33.
Zurück zum Zitat Fuhs, C., Giesl, J., Plücker, M., Schneider-Kamp, P., Falke, S.: Proving termination of integer term rewriting. In: RTA ’09, pp. 32–47 (2009) Fuhs, C., Giesl, J., Plücker, M., Schneider-Kamp, P., Falke, S.: Proving termination of integer term rewriting. In: RTA ’09, pp. 32–47 (2009)
34.
Zurück zum Zitat Fuhs, C., Giesl, J., Parting, M., Schneider-Kamp, P., Swiderski, S.: Proving termination by dependency pairs and inductive theorem proving. JAR 47(2), 133–160 (2011)MathSciNetCrossRefMATH Fuhs, C., Giesl, J., Parting, M., Schneider-Kamp, P., Swiderski, S.: Proving termination by dependency pairs and inductive theorem proving. JAR 47(2), 133–160 (2011)MathSciNetCrossRefMATH
35.
Zurück zum Zitat Giesl, J., Thiemann, R., Schneider-Kamp, P., Falke, S.: Automated termination proofs with AProVE. In: RTA ’04, pp. 210–220 (2004) Giesl, J., Thiemann, R., Schneider-Kamp, P., Falke, S.: Automated termination proofs with AProVE. In: RTA ’04, pp. 210–220 (2004)
36.
Zurück zum Zitat Giesl, J., Thiemann, R., Schneider-Kamp, P.: Proving and disproving termination of higher-order functions. In: FroCoS ’05, pp. 216–231 (2005) Giesl, J., Thiemann, R., Schneider-Kamp, P.: Proving and disproving termination of higher-order functions. In: FroCoS ’05, pp. 216–231 (2005)
37.
Zurück zum Zitat Giesl, J., Thiemann, R., Schneider-Kamp, P., Falke, S.: Mechanizing and improving dependency pairs. JAR 37(3), 155–203 (2006)MathSciNetCrossRefMATH Giesl, J., Thiemann, R., Schneider-Kamp, P., Falke, S.: Mechanizing and improving dependency pairs. JAR 37(3), 155–203 (2006)MathSciNetCrossRefMATH
38.
Zurück zum Zitat Giesl, J., Schneider-Kamp, P., Thiemann, R.: AProVE 1.2: automatic termination proofs in the dependency pair framework. In: IJCAR ’06, pp. 281–286 (2006) Giesl, J., Schneider-Kamp, P., Thiemann, R.: AProVE 1.2: automatic termination proofs in the dependency pair framework. In: IJCAR ’06, pp. 281–286 (2006)
39.
Zurück zum Zitat Giesl, J., Thiemann, R., Swiderski, S., Schneider-Kamp, P.: Proving termination by bounded increase. In: CADE ’07, pp. 443–459 (2007) Giesl, J., Thiemann, R., Swiderski, S., Schneider-Kamp, P.: Proving termination by bounded increase. In: CADE ’07, pp. 443–459 (2007)
40.
Zurück zum Zitat Giesl, J., Raffelsieper, M., Schneider-Kamp, P., Swiderski, S., Thiemann, R.: Automated termination proofs for Haskell by term rewriting. ACM TOPLAS 33(2), 7:1–7:39 (2011)CrossRef Giesl, J., Raffelsieper, M., Schneider-Kamp, P., Swiderski, S., Thiemann, R.: Automated termination proofs for Haskell by term rewriting. ACM TOPLAS 33(2), 7:1–7:39 (2011)CrossRef
41.
Zurück zum Zitat Giesl, J., Ströder, T., Schneider-Kamp, P., Emmes, F., Fuhs, C.: Symbolic evaluation graphs and term rewriting—a general methodology for analyzing logic programs. In: PPDP ’12, pp. 1–12 (2012) Giesl, J., Ströder, T., Schneider-Kamp, P., Emmes, F., Fuhs, C.: Symbolic evaluation graphs and term rewriting—a general methodology for analyzing logic programs. In: PPDP ’12, pp. 1–12 (2012)
42.
Zurück zum Zitat Giesl, J., Brockschmidt, M., Emmes, F., Frohn, F., Fuhs, C., Otto, C., Plücker, M., Schneider-Kamp, P., Ströder, T., Swiderski, S., Thiemann, R.: Proving termination of programs automatically with AProVE. In: IJCAR ’14, pp. 184–191 (2014) Giesl, J., Brockschmidt, M., Emmes, F., Frohn, F., Fuhs, C., Otto, C., Plücker, M., Schneider-Kamp, P., Ströder, T., Swiderski, S., Thiemann, R.: Proving termination of programs automatically with AProVE. In: IJCAR ’14, pp. 184–191 (2014)
43.
Zurück zum Zitat Hensel, J., Giesl, J., Frohn, F., Ströder, T.: Proving termination of programs with bitvector arithmetic by symbolic execution. In SEFM ’16, pp. 234–252 (2016) Hensel, J., Giesl, J., Frohn, F., Ströder, T.: Proving termination of programs with bitvector arithmetic by symbolic execution. In SEFM ’16, pp. 234–252 (2016)
44.
Zurück zum Zitat Koprowski, A., Waldmann, J.: Max/plus tree automata for termination of term rewriting. Acta Cybern. 19(2), 357–392 (2009)MathSciNetMATH Koprowski, A., Waldmann, J.: Max/plus tree automata for termination of term rewriting. Acta Cybern. 19(2), 357–392 (2009)MathSciNetMATH
45.
Zurück zum Zitat Lankford, D.: On proving term rewriting systems are Noetherian. Technical Report Memo MTP-3, Louisiana Technical University (1979) Lankford, D.: On proving term rewriting systems are Noetherian. Technical Report Memo MTP-3, Louisiana Technical University (1979)
46.
Zurück zum Zitat Lattner, C., Adve, V.: LLVM: a compilation framework for lifelong program analysis & transformation. In: CGO ’04, pp. 75–88 (2004) Lattner, C., Adve, V.: LLVM: a compilation framework for lifelong program analysis & transformation. In: CGO ’04, pp. 75–88 (2004)
47.
Zurück zum Zitat Le Berre, D., Parrain, A.: The SAT4J library, release 2.2. JSAT 7, 59–64 (2010) Le Berre, D., Parrain, A.: The SAT4J library, release 2.2. JSAT 7, 59–64 (2010)
48.
Zurück zum Zitat McMillan, K.: Lazy abstraction with interpolants. In: CAV ’06, pp. 123–136 (2006) McMillan, K.: Lazy abstraction with interpolants. In: CAV ’06, pp. 123–136 (2006)
49.
Zurück zum Zitat Nguyen, M.T., De Schreye, D., Giesl, J., Schneider-Kamp, P.: Polytool: polynomial interpretations as a basis for termination analysis of logic programs. TPLP 11(1), 33–63 (2011)MathSciNetMATH Nguyen, M.T., De Schreye, D., Giesl, J., Schneider-Kamp, P.: Polytool: polynomial interpretations as a basis for termination analysis of logic programs. TPLP 11(1), 33–63 (2011)MathSciNetMATH
50.
Zurück zum Zitat Nipkow, T., Paulson, L.C., Wenzel, M.: Isabelle/HOL—A Proof Assistant for Higher-Order Logic. Springer, Berlin (2002)MATH Nipkow, T., Paulson, L.C., Wenzel, M.: Isabelle/HOL—A Proof Assistant for Higher-Order Logic. Springer, Berlin (2002)MATH
51.
Zurück zum Zitat Noschinski, L., Emmes, F., Giesl, J.: Analyzing innermost runtime complexity of term rewriting by dependency pairs. JAR 51(1), 27–56 (2013)MathSciNetCrossRefMATH Noschinski, L., Emmes, F., Giesl, J.: Analyzing innermost runtime complexity of term rewriting by dependency pairs. JAR 51(1), 27–56 (2013)MathSciNetCrossRefMATH
52.
Zurück zum Zitat Otto, C., Brockschmidt, M., von Essen, C., Giesl, J.: Automated termination analysis of Java Bytecode by term rewriting. In RTA ’10, pp. 259–276 (2010) Otto, C., Brockschmidt, M., von Essen, C., Giesl, J.: Automated termination analysis of Java Bytecode by term rewriting. In RTA ’10, pp. 259–276 (2010)
53.
Zurück zum Zitat Podelski, A., Rybalchenko, A.: A complete method for the synthesis of linear ranking functions. In: VMCAI ’04, pp. 239–251 (2004) Podelski, A., Rybalchenko, A.: A complete method for the synthesis of linear ranking functions. In: VMCAI ’04, pp. 239–251 (2004)
55.
Zurück zum Zitat Spoto, F., Lunjin, L., Mesnard, F.: Using CLP simplifications to improve Java Bytecode termination analysis. ENTCS 253(5), 129–144 (2009) Spoto, F., Lunjin, L., Mesnard, F.: Using CLP simplifications to improve Java Bytecode termination analysis. ENTCS 253(5), 129–144 (2009)
56.
Zurück zum Zitat Spoto, F., Mesnard, F., Payet, É.: A termination analyser for Java Bytecode based on path-length. ACM TOPLAS 32(3), 8:1–8:70 (2010)CrossRef Spoto, F., Mesnard, F., Payet, É.: A termination analyser for Java Bytecode based on path-length. ACM TOPLAS 32(3), 8:1–8:70 (2010)CrossRef
57.
Zurück zum Zitat Ströder, T., Schneider-Kamp, P., Giesl, J.: Dependency triples for improving termination analysis of logic programs with cut. In: LOPSTR ’10, pp. 184–199 (2011) Ströder, T., Schneider-Kamp, P., Giesl, J.: Dependency triples for improving termination analysis of logic programs with cut. In: LOPSTR ’10, pp. 184–199 (2011)
58.
Zurück zum Zitat Ströder, T., Giesl, J., Brockschmidt, M., Frohn, F., Fuhs, C., Hensel, J., Schneider-Kamp, P.: Proving termination and memory safety for programs with pointer arithmetic. In: IJCAR ’14, pp. 208–223 (2014) Ströder, T., Giesl, J., Brockschmidt, M., Frohn, F., Fuhs, C., Hensel, J., Schneider-Kamp, P.: Proving termination and memory safety for programs with pointer arithmetic. In: IJCAR ’14, pp. 208–223 (2014)
59.
Zurück zum Zitat Ströder, T., Aschermann, C., Frohn, F., Hensel, J., Giesl, J.: AProVE: termination and memory safety of C programs (competition contribution). In: TACAS ’15, pp. 417–419 (2015) Ströder, T., Aschermann, C., Frohn, F., Hensel, J., Giesl, J.: AProVE: termination and memory safety of C programs (competition contribution). In: TACAS ’15, pp. 417–419 (2015)
61.
63.
Zurück zum Zitat Thiemann, R., Sternagel, C.: Certification of termination proofs using CeTA. In: TPHOLs ’09, pp. 452–468 (2009) Thiemann, R., Sternagel, C.: Certification of termination proofs using CeTA. In: TPHOLs ’09, pp. 452–468 (2009)
Metadaten
Titel
Analyzing Program Termination and Complexity Automatically with AProVE
verfasst von
Jürgen Giesl
Cornelius Aschermann
Marc Brockschmidt
Fabian Emmes
Florian Frohn
Carsten Fuhs
Jera Hensel
Carsten Otto
Martin Plücker
Peter Schneider-Kamp
Thomas Ströder
Stephanie Swiderski
René Thiemann
Publikationsdatum
21.10.2016
Verlag
Springer Netherlands
Erschienen in
Journal of Automated Reasoning / Ausgabe 1/2017
Print ISSN: 0168-7433
Elektronische ISSN: 1573-0670
DOI
https://doi.org/10.1007/s10817-016-9388-y

Weitere Artikel der Ausgabe 1/2017

Journal of Automated Reasoning 1/2017 Zur Ausgabe

EditorialNotes

Preface

Premium Partner