Skip to main content

Abstract Local Completeness

A Local Form of Abstract Non-interference

  • Conference paper
  • First Online:
Verification, Model Checking, and Abstract Interpretation (VMCAI 2025)

Abstract

Abstract interpretation offers sound and decidable approximations for undecidable queries related to program behavior. The effectiveness of an abstract interpretation process relies entirely on the abstract domain itself, and the worst-case scenario is when the abstract interpreter responds with “don’t know”, meaning that anything could happen during runtime. The concept of completeness relates to the answer precision degree when performing computations within the abstract domain. However, completeness for a whole language is an ideal domain property, usually holding only on trivial situations [20]; for this reason, a local notion of completeness, holding on a specific program input, has been deeply investigated [5]. In this paper, we characterize an intermediate notion holding for sets of input selected by abstraction. In other words, completeness holds for a set of concrete inputs determined by one abstract input. In this sense, it is a form of local abstract completeness required locally on one specific abstract value. We provide a simple proof system for proving this weakening of completeness and several examples. Notably, this proof system is both language and domain-agnostic and can be readily incorporated to support static program analysis.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    By \(\le _{\textsf{A}}\) we denote the partial order relation on \(\textsf{A}\).

  2. 2.

    Note that, the abstract program semantics so far defined is, in general, an over-approximation of the bca  , i.e., \(\forall \texttt {r}\in {{\,\mathrm{{\mathfrak {L}}}\,}},\forall \texttt{a}\in \textsf{A}.\,{\llbracket \texttt {r} \rrbracket }^{\textsf{A}}\texttt{a}\le _{\textsf{A}}{\llbracket \texttt {r} \rrbracket }^{\sharp }_{\textsf{A}}\texttt{a}\).

  3. 3.

    The choice of considering functions with potentially different input and output domains aims to underline the generality of the definition, independent from the field of application.

  4. 4.

    In this case, for the sake of readability, we avoid annotating the abstract domains on which we define the abstraction.

  5. 5.

    The name (abstract) non-interference is an inheritance from language-based security where the notion has been introduced for modeling when a (property of a) sensitive input was not interfering with (a property of) an observable output [15].

  6. 6.

    In the machine learning context, a similar notion recently introduced is abstract robustness [24].

  7. 7.

    Note that if the \(\textsf{b}\) is not expressible then we need \(\textsf{A}(\texttt{c})\subseteq (\!|\textsf{b}|\!)\) for implying local ani  , similarly for \(\lnot \textsf{b}\).

References

  1. Arceri, V., Mastroeni, I., Zaffanella, E.: Decoupling the ascending and descending phases in abstract interpretation. In: Sergey, I. (ed.) Programming Languages and Systems, pp. 25–44. Springer (2022)

    Google Scholar 

  2. Banerjee, A., Giacobazzi, R., Mastroeni, I.: What you lose is what you leak: information leakage in declassifivation policies. In: Proceedings of the 23th Internat. Symp. on Mathematical Foundations of Programming Semantics (MFPS ’07). Electronic Notes in Theoretical Computer Science, vol. 1514. Elsevier (2007)

    Google Scholar 

  3. Bourdoncle, F.: Abstract interpretation by dynamic partitioning. J. Funct. Program. 2(4), 407–435 (1992)

    Article  MathSciNet  MATH  Google Scholar 

  4. Bruni, R., Giacobazzi, R., Gori, R., Garcia-Contreras, I., Pavlovic, D.: Abstract extensionality: on the properties of incomplete abstract interpretations. Proc. ACM Program. Lang. 4(POPL), 28:1–28:28 (2020). https://doi.org/10.1145/3371096

  5. Bruni, R., Giacobazzi, R., Gori, R., Ranzato, F.: A logic for locally complete abstract interpretations. In: Symposium on Logic in Computer Science, LICS, pp. 1–13. IEEE (2021)

    Google Scholar 

  6. Bruni, R., Giacobazzi, R., Gori, R., Ranzato, F.: Abstract interpretation repair. In: Jhala, R., Dillig, I. (eds.) PLDI ’22: 43rd ACM SIGPLAN International Conference on Programming Language Design and Implementation, San Diego, CA, USA, June 13 - 17, 2022, pp. 426–441. ACM (2022)

    Google Scholar 

  7. Bruni, R., Giacobazzi, R., Gori, R., Ranzato, F.: A correctness and incorrectness program logic. J. ACM 70(2) (2023)

    Google Scholar 

  8. Campion, M., Preda, M.D., Giacobazzi, R.: Partial (in)completeness in abstract interpretation: limiting the imprecision in program analysis. Proc. ACM Program. Lang. 6(POPL), 1–31 (2022). https://doi.org/10.1145/3498721

  9. Cousot, P.: Asynchronous iterative methods for solving a fixed point system of monotone equations in a complete lattice. Research report R.R. 88, Laboratoire IMAG, Université scientifique et médicale de Grenoble, Grenoble, France (1977). 15 p

    Google Scholar 

  10. Cousot, P.: Constructive design of a hierarchy of semantics of a transition system by abstract interpretation. Theor. Comput. Sci. 277(1–2), 47–103 (2002)

    Article  MathSciNet  MATH  Google Scholar 

  11. Cousot, P., Cousot, R.: Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: Conference Record of the 4th ACM Symposium on Principles of Programming Languages (POPL ’77), pp. 238–252. ACM Press (1977)

    Google Scholar 

  12. Cousot, P., Cousot, R.: Systematic design of program analysis frameworks. In: Conference Record of the 6th ACM Symposium on Principles of Programming Languages (POPL ’79), pp. 269–282. ACM Press (1979)

    Google Scholar 

  13. Cousot, P., Cousot, R.: Comparing the Galois connection and widening/narrowing approaches to abstract interpretation. In: Bruynooghe, M., Wirsing, M. (eds.) PLILP 1992. LNCS, vol. 631, pp. 269–295. Springer, Heidelberg (1992). https://doi.org/10.1007/3-540-55844-6_142

    Chapter  MATH  Google Scholar 

  14. Cousot, P.: Principles of Abstract Interpretation. MIT Press (2021)

    Google Scholar 

  15. Giacobazzi, R., Mastroeni, I.: Abstract non-interference: parameterizing non-interference by abstract interpretation. In: Proceedings of the 31st Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL ’04), pp. 186–197. ACM-Press (2004)

    Google Scholar 

  16. Giacobazzi, R., Mastroeni, I.: Adjoining classified and unclassified information by abstract interpretation. J. Comput. Secur. 18(5), 751–797 (2010)

    Article  MATH  Google Scholar 

  17. Giacobazzi, R., Mastroeni, I.: Making abstract interpretation incomplete - modeling the potency of obfuscation. In: Miné, A., Schmidt, D. (eds.) 19th International Static Analysis Symposium (SAS ’12). Lecture Notes in Computer Science, vol. 7460, pp. 129–145 (2012)

    Google Scholar 

  18. Giacobazzi, R., Ranzato, F., Scozzari, F.: Making abstract interpretation complete. J. ACM 47(2), 361–416 (2000)

    Article  MathSciNet  MATH  Google Scholar 

  19. Giacobazzi, R., Jones, N.D., Mastroeni, I.: Obfuscation by partial evaluation of distorted interpreters. In: Kiselyov, O., Thompson, S.J. (eds.) Proceedings of the ACM SIGPLAN 2012 Workshop on Partial Evaluation and Program Manipulation, PEPM 2012, Philadelphia, Pennsylvania, USA, January 23–24, 2012, pp. 63–72. ACM (2012)

    Google Scholar 

  20. Giacobazzi, R., Logozzo, F., Ranzato, F.: Analyzing program analyses. In: Rajamani, S.K., Walker, D. (eds.) Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2015, Mumbai, India, 15–17 January 2015, pp. 261–273. ACM (2015)

    Google Scholar 

  21. Giacobazzi, R., Mastroeni, I.: Making abstract models complete. Math. Struct. Comput. Sci. 26(4), 658–701 (2016)

    Article  MathSciNet  MATH  Google Scholar 

  22. Giacobazzi, R., Mastroeni, I.: Abstract non-interference: a unifying framework for weakening information-flow. ACM Trans. Priv. Secur. 21(2), 1–31 (2018)

    Article  MATH  Google Scholar 

  23. Giacobazzi, R., Mastroeni, I., Perantoni, E.: How fitting is your abstract domain? In: Hermenegildo, M.V., Morales, J.F. (eds.) Static Analysis. pp. 286–309. Springer (2023)

    Google Scholar 

  24. Giacobazzi, R., Mastroeni, I., Perantoni, E.: Adversities in abstract interpretation - accommodating robustness by abstract interpretation. ACM Trans. Program. Lang. Syst. 46(2) (2024). https://doi.org/10.1145/3649309

  25. Giacobazzi, R., Mastroeni, I., Preda, M.D.: Maximal incompleteness as obfuscation potency. Formal Aspects Comput. 29(1), 3–31 (2017)

    Article  MathSciNet  MATH  Google Scholar 

  26. Mastroeni, I., Banerjee, A.: Modelling declassification policies using abstract domain completeness. Math. Struct. Comput. Sci. 21(6), 1253–1299 (2011)

    Article  MathSciNet  MATH  Google Scholar 

  27. Mastroeni, I., Pasqua, M.: Statically analyzing information flows: an abstract interpretation-based hyperanalysis for non-interference. In: Hung, C., Papadopoulos, G.A. (eds.) Proceedings of the 34th ACM/SIGAPP Symposium on Applied Computing, SAC 2019, pp. 2215–2223. ACM (2019). https://doi.org/10.1145/3297280.3297498

  28. Mastroeni, I.: Abstract interpretation-based approaches to security - a survey on abstract non-interference and its challenging applications. In: Banerjee, A., Danvy, O., Doh, K., Hatcliff, J. (eds.) Semantics, Abstract Interpretation, and Reasoning about Programs: Essays Dedicated to David A. Schmidt on the Occasion of his Sixtieth Birthday, Manhattan, Kansas, USA, 19-20th September 2013. EPTCS, vol. 129, pp. 41–65 (2013)

    Google Scholar 

  29. Mastroeni, I.: Abstract domain adequacy: weakening completeness towards static analysis precision (2024). under submission

    Google Scholar 

  30. Mastroeni, I., Pasqua, M.: Hyperhierarchy of semantics - a formal framework for hyperproperties verification. In: Ranzato, F. (ed.) Static Analysis, pp. 232–252. Springer, Cham (2017)

    Chapter  MATH  Google Scholar 

  31. Mastroeni, I., Pasqua, M.: Verifying bounded subset-closed hyperproperties. In: Podelski, A. (ed.) Static Analysis, pp. 263–283. Springer, Cham (2018)

    Chapter  MATH  Google Scholar 

  32. Mastroeni, I., Pasqua, M.: Verifying opacity by abstract interpretation. In: Hong, J., Bures, M., Park, J.W., Cerný, T. (eds.) SAC ’22: The 37th ACM/SIGAPP Symposium on Applied Computing, Virtual Event, April 25 - 29, 2022, pp. 1817–1826. ACM (2022). https://doi.org/10.1145/3477314.3507119

  33. Mastroeni, I., Pasqua, M.: Domain precision in Galois connection-less abstract interpretation. In: Hermenegildo, M.V., Morales, J.F. (eds.) Static Analysis, pp. 434–459. Springer, Cham (2023)

    Chapter  MATH  Google Scholar 

  34. Müller, M.N., Fischer, M., Staab, R., Vechev, M.: Abstract interpretation of fixpoint iterators with applications to neural networks. Proc. ACM Program. Lang. 7(PLDI) (2023)

    Google Scholar 

  35. O’Hearn, P.W.: Incorrectness logic. In: Proceedings of the ACM on Programming Languages (POPL), vol. 4, no. 10 (2020)

    Google Scholar 

  36. Winskel, G.: The Formal Semantics of Programming Languages: An Introduction. MIT Press (1993)

    Google Scholar 

Download references

Funding

This work was supported by the project SERICS (PE00000014) under the MUR National Recovery and Resilience Plan funded by the European Union - NextGenerationEU and by PRIN2022PNRR “RAP-ARA” (PE6) - codice MUR: P2022HXNSC.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Isabella Mastroeni .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2025 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Mastroeni, I. (2025). Abstract Local Completeness. In: Shankaranarayanan, K., Sankaranarayanan, S., Trivedi, A. (eds) Verification, Model Checking, and Abstract Interpretation. VMCAI 2025. Lecture Notes in Computer Science, vol 15530. Springer, Cham. https://doi.org/10.1007/978-3-031-82703-7_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-82703-7_1

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-82702-0

  • Online ISBN: 978-3-031-82703-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics