Skip to main content
Springer Nature - PMC COVID-19 Collection logoLink to Springer Nature - PMC COVID-19 Collection
. 2020 Mar 13;12078:58–76. doi: 10.1007/978-3-030-45190-5_4

A Calculus for Modular Loop Acceleration

Florian Frohn ‡,
Editors: Armin Biere8, David Parker9
PMCID: PMC7439733

Abstract

Loop acceleration can be used to prove safety, reachability, runtime bounds, and (non-)termination of programs operating on integers. To this end, a variety of acceleration techniques has been proposed. However, all of them are monolithic: Either they accelerate a loop successfully or they fail completely. In contrast, we present a calculus that allows for combining acceleration techniques in a modular way and we show how to integrate many existing acceleration techniques into our calculus. Moreover, we propose two novel acceleration techniques that can be incorporated into our calculus seamlessly. An empirical evaluation demonstrates the applicability of our approach.

Footnotes

This work has been funded by DFG grant 389792660 as part of TRR 248 (see https://perspicuous-computing.science).

Contributor Information

Armin Biere, Email: biere@jku.at.

David Parker, Email: d.a.parker@cs.bham.ac.uk.

References

  • 1.Bagnara, R., Pescetti, A., Zaccagnini, A., Zaffanella, E.: PURRS: Towards computer algebra support for fully automatic worst-case complexity analysis (2005), arXiv:cs/0512056 [cs.MS]
  • 2.Bardin, S., Finkel, A., Leroux, J., Petrucci, L.: FAST: Acceleration from theory to practice. STTT 10(5), 401–424 (2008).10.1007/s10009-008-0064-3
  • 3.Bardin, S., Finkel, A., Leroux, J., Schnoebelen, P.: Flat acceleration in symbolic model checking. In: ATVA ’05. pp. 474–488. LNCS 3707 (2005).10.1007/11562948_35
  • 4.Boigelot, B.: Symbolic Methods for Exploring Infinite State Spaces. Ph.D. thesis, Université de Liège (1999), https://orbi.uliege.be/bitstream/2268/74874/1/Boigelot98.pdf
  • 5.Boigelot, B.: On iterating linear transformations over recognizable sets of integers. Theoretical Computer Science 309(1-3), 413–468 (2003). 10.1016/S0304-3975(03)00314-1
  • 6.Bozga, M., Gîrlea, C., Iosif, R.: Iterating octagons. In: TACAS ’09. pp.337–351. LNCS 5505 (2009). 10.1007/978-3-642-00768-2_29
  • 7.Bozga, M., Iosif, R., Konecný, F.: Fast acceleration of ultimately periodic relations. In: CAV ’10. pp. 227–242. LNCS 6174 (2010).10.1007/978-3-642-14295-6_23
  • 8.Bozga, M., Iosif, R., Konecný, F.: Deciding conditional termination. Logical Methods in Computer Science 10(3) (2014). 10.2168/LMCS-10(3:8)2014
  • 9.Comon, H., Jurski, Y.: Multiple counters automata, safety analysis and presburger arithmetic. In: CAV ’98. pp. 268–279. LNCS 1427 (1998). 10.1007/BFb0028751
  • 10.Farzan, A., Kincaid, Z.: Compositional recurrence analysis. In: FMCAD ’15. pp.57–64 (2015). 10.1109/FMCAD.2015.7542253
  • 11.Frohn, F., Giesl, J.: Proving non-termination via loop acceleration. In: FMCAD ’19. pp. 221–230 (2019). 10.23919/FMCAD.2019.8894271
  • 12.Frohn, F.: A calculus for modular loop acceleration – artifact evaluation(2020). 10.5281/zenodo.3676348
  • 13.Frohn, F.: A calculus for modular loop acceleration (2020), extended version, arXiv:2001.01516 [cs.LO]
  • 14.Frohn, F.: Empirical evaluation of “A calculus for modular loopacceleration” (2020), https://ffrohn.github.io/acceleration-calculus
  • 15.Frohn, F., Hark, M., Giesl, J.: On the decidability of termination for polynomial loops (2019), arXiv:1910.11588 [cs.LO]
  • 16.Frohn, F., Naaf, M., Brockschmidt, M., Giesl, J.: Inferring lower runtime bounds for integer programs (2019), arXiv:1911.01077 [cs.LO]
  • 17.Frohn, F., Naaf, M., Hensel, J., Brockschmidt, M., Giesl, J.: Lower runtime bounds for integer programs. In: IJCAR ’16. pp. 550–567. LNCS 9706 (2016). 10.1007/978-3-319-40229-1_37
  • 18.Ganty, P., Iosif, R., Konecný, F.: Underapproximation of procedure summaries for integer programs. STTT 19(5), 565–584 (2017). 10.1007/s10009-016-0420-7
  • 19.Giesl, J., Rubio, A., Sternagel, C., Waldmann, J., Yamada, A.: The termination and complexity competition. In: TACAS ’19. pp. 156–166. LNCS 11429 (2019). 10.1007/978-3-030-17502-3_10
  • 20.Gonnord, L., Halbwachs, N.: Combining widening and acceleration in line arrelation analysis. In: SAS ’06. pp. 144–160. LNCS 4134 (2006). 10.1007/11823230_10
  • 21.Gonnord, L., Schrammel, P.: Abstract acceleration in linear relation analysis. Science of Computer Programming 93, 125–153 (2014). 10.1016/j.scico.2013.09.016
  • 22.Gupta, A., Henzinger, T.A., Majumdar, R., Rybalchenko, A., Xu, R.: Proving non-termination. In: POPL ’08. pp. 147–158 (2008). 10.1145/1328438.1328459
  • 23.Hojjat, H., Iosif, R., Konecný, F., Kuncak, V., Rümmer, P.:Accelerating interpolants. In: ATVA ’12. pp. 187–202. LNCS 7561 (2012). 10.1007/978-3-642-33386-6_16
  • 24.Hojjat, H., Konecný, F., Garnier, F., Iosif, R., Kuncak, V., Rümmer, P.: A verification toolkit for numerical transition systems - tool paper. In: FM ’12. pp. 247–251. LNCS 7436 (2012). 10.1007/978-3-642-32759-9_21
  • 25.Jeannet, B., Schrammel, P., Sankaranarayanan, S.: Abstract acceleration of general linear loops. In: POPL ’14. pp. 529–540 (2014). 10.1145/2535838.2535843
  • 26.Kincaid, Z., Breck, J., Boroujeni, A.F., Reps, T.W.: Compositional recurrence analysis revisited. In: PLDI ’17. pp. 248–262 (2017). 10.1145/3062341.3062373
  • 27.Konecný, F.: PTIME computation of transitive closures of octagonal relations. In: TACAS ’16. pp. 645–661. LNCS 9636 (2016). 10.1007/978-3-662-49674-9_42
  • 28.Kroening, D., Lewis, M., Weissenbacher, G.: Under-approximating loops in C programs for fast counterexample detection. FMSD 47(1),75–92 (2015). 10.1007/s10703-015-0228-1 [DOI] [PMC free article] [PubMed]
  • 29.Madhukar, K., Wachter, B., Kroening, D., Lewis, M., Srivas, M.K.: Accelerating invariant generation. In: FMCAD ’15. pp. 105–111 (2015). 10.1109/FMCAD.2015.7542259
  • 30.Mourade Moura, L., Bjørner, N.: An efficient SMT solver. In: TACAS ’08. pp. 337–340. LNCS 4963 (2008). 10.1007/978-3-540-78800-3_24
  • 31.Ouaknine, J., Pinto, J.S., Worrell, J.: On termination of integer linear loops. In: SODA ’15. pp. 957–969 (2015). 10.1137/1.9781611973730.65
  • 32.Silverman, J., Kincaid, Z.: Loop summarization with rational vector addition systems. In: CAV ’19. pp. 97–115. LNCS 11562 (2019). 10.1007/978-3-030-25543-5_7
  • 33.Strejcek, J., Trtík, M.: Abstracting path conditions. In: ISSTA ’12. pp.155–165 (2012). 10.1145/2338965.2336772
  • 34.Stump, A., Sutcliffe, G., Tinelli, C.: StarExec: A cross-community infrastructure for logic solving. In: IJCAR ’14. pp. 367–373. LNCS 8562(2014). 10.1007/978-3-319-08587-6_28
  • 35.Termination problems data base (TPDB), http://termination-portal.org/wiki/TPDB

Articles from Tools and Algorithms for the Construction and Analysis of Systems are provided here courtesy of Nature Publishing Group

RESOURCES