Advertisement

Aligator.jl – A Julia Package for Loop Invariant Generation

  • Andreas Humenberger
  • Maximilian Jaroschek
  • Laura Kovács
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11006)

Abstract

We describe the Aligator.jl software package for automatically generating all polynomial invariants of the rich class of extended P-solvable loops with nested conditionals. Aligator.jl is written in the programming language Julia and is open-source. Aligator.jl transforms program loops into a system of algebraic recurrences and implements techniques from symbolic computation to solve recurrences, derive closed form solutions of loop variables and infer the ideal of polynomial invariants by variable elimination based on Gröbner basis computation.

References

  1. 1.
    Decker, W., Greuel, G.M., Pfister, G., Schönemann, H.: Singular 4-1-0—a computer algebra system for polynomial computations (2016). http://www.singular.uni-kl.de
  2. 2.
    Humenberger, A., Jaroschek, M., Kovács, L.: Invariant generation for multi-path loops with polynomial assignments. In: Dillig, I., Palsberg, J. (eds.) VMCAI. LNCS, vol. 10747, pp. 226–246. Springer, Cham (2018).  https://doi.org/10.1007/978-3-319-73721-8_11CrossRefGoogle Scholar
  3. 3.
  4. 4.
    Kovács, L.: Aligator: a mathematica package for invariant generation (system description). In: Armando, A., Baumgartner, P., Dowek, G. (eds.) IJCAR 2008. LNCS (LNAI), vol. 5195, pp. 275–282. Springer, Heidelberg (2008).  https://doi.org/10.1007/978-3-540-71070-7_22CrossRefGoogle Scholar
  5. 5.
    Meurer, A., Smith, C.P., Paprocki, M., Čertík, O., Kirpichev, S.B., Rocklin, M., Kumar, A., Ivanov, S., Moore, J.K., Singh, S., Rathnayake, T., Vig, S., Granger, B.E., Muller, R.P., Bonazzi, F., Gupta, H., Vats, S., Johansson, F., Pedregosa, F., Curry, M.J., Terrel, A.R., Roučka, S., Saboo, A., Fernando, I., Kulal, S., Cimrman, R., Scopatz, A.: SymPy: symbolic computing in Python. PeerJ Comput. Sci. 3, e103 (2017).  https://doi.org/10.7717/peerj-cs.103CrossRefGoogle Scholar
  6. 6.
    Rodríguez-Carbonell, E., Kapur, D.: Generating all polynomial invariants in simple loops. J. Symb. Comput. 42(4), 443–476 (2007).  https://doi.org/10.1016/j.jsc.2007.01.002MathSciNetCrossRefzbMATHGoogle Scholar
  7. 7.
  8. 8.
    Wolfram, S.: An Elementary Introduction to the Wolfram Language. Wolfram Media Inc. (2017). https://www.wolfram.com/language/elementary-introduction/2nd-ed/

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  • Andreas Humenberger
    • 1
  • Maximilian Jaroschek
    • 1
    • 2
  • Laura Kovács
    • 1
    • 3
  1. 1.TU WienViennaAustria
  2. 2.JKU LinzLinzAustria
  3. 3.ChalmersGothenburgSweden

Personalised recommendations