Papers
Topics
Authors
Recent
Search
2000 character limit reached

Non-Numerical Weakly Relational Domains

Published 10 Jan 2024 in cs.LO and cs.PL | (2401.05165v1)

Abstract: The weakly relational domain of Octagons offers a decent compromise between precision and efficiency for numerical properties. Here, we are concerned with the construction of non-numerical relational domains. We provide a general construction of weakly relational domains, which we exemplify with an extension of constant propagation by disjunctions. Since for the resulting domain of 2-disjunctive formulas, satisfiability is NP-complete, we provide a general construction for a further, more abstract weakly relational domain where the abstract operations of restriction and least upper bound can be efficiently implemented. In the second step, we consider a relational domain that tracks conjunctions of inequalities between variables, and between variables and constants for arbitrary partial orders of values. Examples are sub(multi)sets, as well as prefix, substring or scattered substring orderings on strings. When the partial order is a lattice, we provide precise polynomial algorithms for satisfiability, restriction, and the best abstraction of disjunction. Complementary to the constructions for lattices, we find that, in general, satisfiability of conjunctions is NP-complete. We therefore again provide polynomial abstract versions of restriction, conjunction, and join. By using our generic constructions, these domains are extended to weakly relational domains that additionally track disjunctions. For all our domains, we indicate how abstract transformers for assignments and guards can be constructed.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (23)
  1. In: Chen, Y., Cheng, C., Esparza, J. (eds.) Automated Technology for Verification and Analysis - 17th International Symposium, ATVA 2019, Taipei, Taiwan, October 28-31, 2019, Proceedings, Lecture Notes in Computer Science, vol. 11781, pp. 277–293. Springer (2019). URL https://doi.org/10.1007/978-3-030-31784-3_16
  2. Sci. Comput. Program. 92, 2–24 (2014). URL https://doi.org/10.1016/j.scico.2013.04.006
  3. In: Finkbeiner, B., Wies, T. (eds.) Verification, Model Checking, and Abstract Interpretation - 23rd International Conference, VMCAI 2022, Philadelphia, PA, USA, January 16-18, 2022, Proceedings, Lecture Notes in Computer Science, vol. 13182, pp. 20–42. Springer (2022). URL https://doi.org/10.1007/978-3-030-94583-1_2
  4. In: Logozzo, F., Peled, D.A., Zuck, L.D. (eds.) Verification, Model Checking, and Abstract Interpretation, pp. 8–21. Springer Berlin Heidelberg, Berlin, Heidelberg (2008)
  5. Formal Methods Syst. Des. 35(3), 279–323 (2009). URL https://doi.org/10.1007/s10703-009-0073-1
  6. In: 30th IEEE International Symposium on Multiple-Valued Logic, ISMVL 2000, Portland, Oregon, USA, May 23-25, 2000, Proceedings, pp. 331–336. IEEE Computer Society (2000). URL https://doi.org/10.1109/ISMVL.2000.848640
  7. Formal Methods Syst. Des. 54(2), 232–277 (2019). URL https://doi.org/10.1007/s10703-017-0314-7
  8. Proc. ACM Program. Lang. 2(POPL), 3:1–3:29 (2018). URL https://doi.org/10.1145/3158091
  9. Journal of logic and computation 2(4), 511–547 (1992)
  10. In: Aho, A.V., Zilles, S.N., Szymanski, T.G. (eds.) Conference Record of the Fifth Annual ACM Symposium on Principles of Programming Languages, Tucson, Arizona, USA, January 1978, pp. 84–96. ACM Press (1978). URL https://doi.org/10.1145/512760.512770
  11. Proc. ACM Program. Lang. 7(POPL), 278–308 (2023). URL https://doi.org/10.1145/3571203
  12. In: Cousot, P. (ed.) Static Analysis, 8th International Symposium, SAS 2001, Paris, France, July 16-18, 2001, Proceedings, pp. 194–212. Springer, LNCS 2126 (2001). URL https://doi.org/10.1007/3-540-47764-0_12
  13. Karr, M.: Affine relationships among variables of a program. Acta Informatica 6, 133–151 (1976). URL https://doi.org/10.1007/BF00268497
  14. Miné, A.: The octagon abstract domain. In: WCRE’ 01, p. 310. IEEE Computer Society (2001). DOI 10.1109/WCRE.2001.957836
  15. Miné, A.: Weakly relational numerical abstract domains. (domaines numériques abstraits faiblement relationnels). Ph.D. thesis, École Polytechnique, Palaiseau, France (2004). URL https://tel.archives-ouvertes.fr/tel-00136630
  16. Miné, A.: The octagon abstract domain. Higher Order Symbol. Comput. 19(1), 31–100 (2006). URL https://doi.org/10.1007/s10990-006-8609-1
  17. In: Jones, N.D., Leroy, X. (eds.) Proceedings of the 31st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2004, Venice, Italy, January 14-16, 2004, pp. 330–341. ACM (2004). URL https://doi.org/10.1145/964001.964029
  18. ACM Trans. Program. Lang. Syst. 29(5), 29 (2007). URL https://doi.org/10.1145/1275497.1275504
  19. In: Cousot, R. (ed.) Verification, Model Checking, and Abstract Interpretation, LNCS, vol. 3385, pp. 25–41. Springer, Berlin, Heidelberg (2005)
  20. In: Wies, T. (ed.) Programming Languages and Systems - 32nd European Symposium on Programming, ESOP 2023, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2023, Paris, France, April 22-27, 2023, Proceedings, Lecture Notes in Computer Science, vol. 13990, pp. 28–58. Springer (2023). URL https://doi.org/10.1007/978-3-031-30044-8_2
  21. In: Hermenegildo, M.V., Morales, J.F. (eds.) Static Analysis, pp. 485–507. Springer Nature Switzerland, Cham (2023)
  22. In: Leuschel, M. (ed.) Logic Based Program Synthesis and Transformation, 12th International Workshop, LOPSTR 2002, Madrid, Spain, September 17-20,2002, Revised Selected Papers, LNCS, vol. 2664, pp. 71–89. Springer (2002). URL https://doi.org/10.1007/3-540-45013-0_7
  23. In: Groce, A., Musuvathi, M. (eds.) Model Checking Software - 18th International SPIN Workshop, Snowbird, UT, USA, July 14-15, 2011. Proceedings, Lecture Notes in Computer Science, vol. 6823, pp. 20–37. Springer (2011). URL https://doi.org/10.1007/978-3-642-22306-8_3
Citations (2)

Summary

No one has generated a summary of this paper yet.

Paper to Video (Beta)

No one has generated a video about this paper yet.

Whiteboard

No one has generated a whiteboard explanation for this paper yet.

Open Problems

We haven't generated a list of open problems mentioned in this paper yet.

Continue Learning

We haven't generated follow-up questions for this paper yet.

Collections

Sign up for free to add this paper to one or more collections.