Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1007/978-3-662-46081-8_16guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Abstraction of Arrays Based on Non Contiguous Partitions

Published: 12 January 2015 Publication History

Abstract

Array partitioning analyses split arrays into contiguous partitions to infer properties of cell sets. Such analyses cannot group together non contiguous cells, even when they have similar properties. In this paper, we propose an abstract domain which utilizes semantic properties to split array cells into groups. Cells with similar properties will be packed into groups and abstracted together. Additionally, groups are not necessarily contiguous. This abstract domain allows to infer complex array invariants in a fully automatic way. Experiments on examples from the Minix 1.1 memory management demonstrate its effectiveness.

References

[1]
Alberti, F., Ghilardi, S., Sharygina, N.: Decision procedures for flat array properties. In: Ábrahám, E., Havelund, K. eds. TACAS 2014. LNCS, vol. 8413, pp. 15---30. Springer, Heidelberg 2014
[2]
Beyer, D., Henzinger, T.A., Majumdar, R., Rybalchenko, A.: Invariant synthesis for combined theories. In: Cook, B., Podelski, A. eds. VMCAI 2007. LNCS, vol. 4349, pp. 378---394. Springer, Heidelberg 2007
[3]
Cousot, P., Cousot, R.: Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: POPL 1977
[4]
Cousot, P., Cousot, R.: Systematic design of program analysis frameworks. In: POPL 1979
[5]
Cousot, P., Cousot, R., Logozzo, F.: A parametric segmentation functor for fully automatic and scalable array content analysis. In: POPL 2011
[6]
Cox, A., Chang, B.-Y.E., Rival, X.: Automatic analysis of open objects in dynamic language programs. In: Müller-Olm, M., Seidl, H. eds. SAS 2014. LNCS, vol. 8723, pp. 134---150. Springer, Heidelberg 2014
[7]
Cox, A., Chang, B.-Y.E., Sankaranarayanan, S.: QUIC graphs: Relational invariant generation for containers. In: Castagna, G. ed. ECOOP 2013. LNCS, vol. 7920, pp. 401---425. Springer, Heidelberg 2013
[8]
Dillig, I., Dillig, T., Aiken, A.: Fluid updates: Beyond strong vs. Weak updates. In: Gordon, A.D. ed. ESOP 2010. LNCS, vol. 6012, pp. 246---266. Springer, Heidelberg 2010
[9]
Dillig, I., Dillig, T., Aiken, A.: Precise reasoning for programs using containers. In: POPL 2011
[10]
Gopan, D., DiMaio, F., Dor, N., Reps, T., Sagiv, M.: Numeric domains with summarized dimensions. In: Jensen, K., Podelski, A. eds. TACAS 2004. LNCS, vol. 2988, pp. 512---529. Springer, Heidelberg 2004
[11]
Gopan, D., Reps, T., Sagiv, M.: A framework for numeric analysis of array operations. In: POPL 2005
[12]
Gulwani, S., McCloskey, B., Tiwari, A.: Lifting abstract interpreters to quantified logical domains. In: POPL 2008
[13]
Halbwachs, N., Péron, M.: Discovering properties about arrays in simple programs. In: PLDI 2008
[14]
Jeannet, B., Miné, A.: Apron: A library of numerical abstract domains for static analysis. In: Bouajjani, A., Maler, O. eds. CAV 2009. LNCS, vol. 5643, pp. 661---667. Springer, Heidelberg 2009
[15]
Jhala, R., McMillan, K.L.: Array abstractions from proofs. In: Damm, W., Hermanns, H. eds. CAV 2007. LNCS, vol. 4590, pp. 193---206. Springer, Heidelberg 2007
[16]
Kovács, L., Voronkov, A.: Finding loop invariants for programs over arrays using a theorem prover. In: Chechik, M., Wirsing, M. eds. FASE 2009. LNCS, vol. 5503, pp. 470---485. Springer, Heidelberg 2009
[17]
McMillan, K.L.: Quantified invariant generation using an interpolating saturation prover. In: Ramakrishnan, C.R., Rehof, J. eds. TACAS 2008. LNCS, vol. 4963, pp. 413---427. Springer, Heidelberg 2008
[18]
Miné, A.: The octagon abstract domain. In: HOSC 2006
[19]
Seghir, M.N., Podelski, A., Wies, T.: Abstraction refinement for quantified array assertions. In: Palsberg, J., Su, Z. eds. SAS 2009. LNCS, vol. 5673, pp. 3---18. Springer, Heidelberg 2009
[20]
Sotin, P., Rival, X.: Hierarchical shape abstraction of dynamic structures in static blocks. In: Jhala, R., Igarashi, A. eds. APLAS 2012. LNCS, vol. 7705, pp. 131---147. Springer, Heidelberg 2012

Cited By

View all
  • (2024)Precise Compositional Buffer Overflow Detection via Heap DisjointnessProceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3650212.3652110(63-75)Online publication date: 11-Sep-2024
  • (2021)Type and interval aware array constraint solving for symbolic executionProceedings of the 30th ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3460319.3464826(361-373)Online publication date: 11-Jul-2021
  • (2021)Diffy: Inductive Reasoning of Array Programs Using Difference InvariantsComputer Aided Verification10.1007/978-3-030-81688-9_42(911-935)Online publication date: 20-Jul-2021
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide Proceedings
VMCAI 2015: Proceedings of the 16th International Conference on Verification, Model Checking, and Abstract Interpretation - Volume 8931
January 2015
466 pages
ISBN:9783662460801
  • Editors:
  • Deepak D'Souza,
  • Akash Lal,
  • Kim Larsen

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 12 January 2015

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 01 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Precise Compositional Buffer Overflow Detection via Heap DisjointnessProceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3650212.3652110(63-75)Online publication date: 11-Sep-2024
  • (2021)Type and interval aware array constraint solving for symbolic executionProceedings of the 30th ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3460319.3464826(361-373)Online publication date: 11-Jul-2021
  • (2021)Diffy: Inductive Reasoning of Array Programs Using Difference InvariantsComputer Aided Verification10.1007/978-3-030-81688-9_42(911-935)Online publication date: 20-Jul-2021
  • (2017)A refinement hierarchy for free list memory allocatorsACM SIGPLAN Notices10.1145/3156685.309227552:9(104-114)Online publication date: 18-Jun-2017
  • (2017)A refinement hierarchy for free list memory allocatorsProceedings of the 2017 ACM SIGPLAN International Symposium on Memory Management10.1145/3092255.3092275(104-114)Online publication date: 18-Jun-2017

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media