Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.5555/2391451.2391478guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Footprint analysis: a shape analysis that discovers preconditions

Published: 22 August 2007 Publication History

Abstract

Existing shape analysis algorithms infer descriptions of data structures at program points, starting from a given precondition. We describe an analysis that does not require any preconditions. It works by attempting to infer a description of only the cells that might be accessed, following the footprint idea in separation logic. The analysis allows us to establish a true Hoare triple for a piece of code, independently of the context in which it occurs and without a whole-program analysis. We present experimental results for a range of typical list-processing algorithms, as well as for code fragments from a Windows device driver.

References

[1]
Balaban, I., Pnueli, A., Zuck, L.: Shape Analysis by Predicate Abstraction. In: Cousot, R. (ed.) VMCAI 2005. LNCS, vol. 3385, pp. 164-180. Springer, Heidelberg (2005)
[2]
Berdine, J., Calcagno, C., Cook, B., Distefano, D., O'Hearn, P., Wies, T., Yang, H.: Shape analysis of composite data structures. In: Damm, W., Hermanns, H. (eds.) CAV 2007. LNCS, vol. 4590, Springer, Heidelberg (2007)
[3]
Berdine, J., Cook, B., Distefano, D., O'Hearn, P.: Automatic termination proofs for programs with shape-shifting heaps. In: Ball, T., Jones, R. B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 386-400. Springer, Heidelberg (2006)
[4]
Bouajjani, A., Habermehl, P., Rogalewicz, A., Vojnar, T.: Abstract Tree Regular Model Checking of Complex Dynamic Data Structures. In: Yi, K. (ed.) SAS 2006. LNCS, vol. 4134, pp. 52-70. Springer, Heidelberg (2006)
[5]
Calcagno, C., Distefano, D., O'Hearn, P., Yang, H.: Beyond Reachability: Shape Abstraction in the Presence of Pointer Arithmetic. In: Yi, K. (ed.) SAS 2006. LNCS, vol. 4134, pp. 182-203. Springer, Heidelberg (2006)
[6]
Calcagno, C., O'Hearn, P., Yang, H.: Local action and abstract separation logic. In: LICS'07 (to appear, 2007)
[7]
Cousot, P., Cousot, R.: Modular Static Program Analysis. In: Horspool, R. N. (ed.) CC 2002 and ETAPS 2002. LNCS, vol. 2304, pp. 159-178. Springer, Heidelberg (2002)
[8]
Cousot, P., Cousot, R.: Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: 4th POPL, pp. 238-252 (1977)
[9]
Distefano, D., O'Hearn, P., Yang, H.: A local shape analysis based on separation logic. In: Hermanns, H., Palsberg, J. (eds.) TACAS 2006 and ETAPS 2006. LNCS, vol. 3920, pp. 287-302. Springer, Heidelberg (2006)
[10]
Gotsman, A., Berdine, J., Cook, B.: Interprocedural shape analysis with separated heap abstractions. In: Yi, K. (ed.) SAS 2006. LNCS, vol. 4134, pp. 240-260. Springer, Heidelberg (2006)
[11]
Gotsman, A., Berdine, J., Cook, B., Sagiv, M.: Thread-modular shape analysis. In: PLDI 2007 (to appear, 2007)
[12]
Guo, B., Vachharajani, N., August, D.: Shape analysis with inductive recursion synthesis. In: PLDI 2007 (to appear, 2007)
[13]
Hackett, B., Rugina, R.: Region-based shape analysis with tracked locations. In: 32nd POPL, pp. 310-323 (2005)
[14]
Jeannet, B., Loginov, A., Reps, T., Sagiv, M.: A relational approach to interprocedural shape analysis. In: TR 1505, Comp. Sci. Dept., Univ. of Wisconsin (2004)
[15]
Lev-Ami, T., Immerman, N., Sagiv, M.: Abstraction for shape analysis with fast and precise transfomers. In: Ball, T., Jones, R. B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 547-561. Springer, Heidelberg (2006)
[16]
Magill, S., Nanevski, A., Clarke, E., Lee, P.: Inferring invariants in Separation Logic for imperative list-processing programs. In: 3rd SPACE Workshop (2006)
[17]
Manevich, R., Berdine, J., Cook, B., Ramalingam, G., Sagiv, M.: Shape analysis by graph decomposition. In: 13th TACAS (2007)
[18]
Manevich, R., Yahav, E., Ramalingam, G., Sagiv, M.: Predicate abstraction and canonical abstraction for singly-linked lists. In: Cousot, R. (ed.) VMCAI 2005. LNCS, vol. 3385, pp. 181-198. Springer, Heidelberg (2005)
[19]
Necula, G., McPeak, S., Rahul, S., Weimer, W.: CIL:intermediate language and tools for analysis and transformation of C programs. In: Horspool, R. N. (ed.) CC 2002 and ETAPS 2002. LNCS, vol. 2304, pp. 213-228. Springer, Heidelberg (2002)
[20]
O'Hearn, P.: Resources, concurrency and local reasoning. Theoretical Computer Science. Preliminary version appeared in CONCUR'04 (to appear, 2007)
[21]
O'Hearn, P., Reynolds, J., Yang, H.: Local reasoning about programs that alter data structures. In: Fribourg, L. (ed.) CSL 2001 and EACSL 2001. LNCS, vol. 2142, pp. 1-19. Springer, Heidelberg (2001)
[22]
Reynolds, J.C.: Separation logic: A logic for shared mutable data structures. In: 17th LICS, pp. 55-74 (2002)
[23]
Rinetzky, N., Bauer, J., Reps, T., Sagiv, M., Wilhelm, R.: A semantics for procedure local heaps and its abstractions. In: 32nd POPL, pp. 296-309 (2005)
[24]
Sagiv, M., Reps, T., Wilhelm, R.: Solving Shape-Analysis Problems in Languages with Destructive Updating. ACM TOPLAS 20(1), 1-50 (1998)
[25]
Sagiv, M., Reps, T., Wilhelm, R.: Parametric shape analysis via 3-valued logic. ACM TOPLAS 24(3), 217-298 (2002)
[26]
Sims, É.-J.: An abstract domain for separation logic formulae. In: 1st EAAI, pp. 133-148 (2006)
[27]
Yahav, E., Reps, T., Sagiv, M., Wilhelm, R.: Verifying temporal heap properties specified via evolution logic. In: Degano, P. (ed.) ESOP 2003 and ETAPS 2003. LNCS, vol. 2618, pp. 204-222. Springer, Heidelberg (2003)
[28]
Yang, H., O'Hearn, P.: A semantic basis for local reasoning. In: Nielsen, M., Engberg, U. (eds.) ETAPS 2002 and FOSSACS 2002. LNCS, vol. 2303, pp. 402-416. Springer, Heidelberg (2002)

Cited By

View all
  • (2018)Continuous ReasoningProceedings of the 33rd Annual ACM/IEEE Symposium on Logic in Computer Science10.1145/3209108.3209109(13-25)Online publication date: 9-Jul-2018
  • (2016)Automating Abstract InterpretationProceedings of the 17th International Conference on Verification, Model Checking, and Abstract Interpretation - Volume 958310.1007/978-3-662-49122-5_1(3-40)Online publication date: 17-Jan-2016
  • (2015)From Categorical Logic to Facebook EngineeringProceedings of the 2015 30th Annual ACM/IEEE Symposium on Logic in Computer Science (LICS)10.1109/LICS.2015.11(17-20)Online publication date: 6-Jul-2015
  • Show More Cited By
  1. Footprint analysis: a shape analysis that discovers preconditions

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image Guide Proceedings
    SAS'07: Proceedings of the 14th international conference on Static Analysis
    August 2007
    467 pages
    ISBN:3540740600
    • Editors:
    • Hanne Riis Nielson,
    • Gilberto Filé

    Sponsors

    • IMM Graduate School: IMM Graduate School
    • IBM Denmark: IBM Denmark

    Publisher

    Springer-Verlag

    Berlin, Heidelberg

    Publication History

    Published: 22 August 2007

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 08 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2018)Continuous ReasoningProceedings of the 33rd Annual ACM/IEEE Symposium on Logic in Computer Science10.1145/3209108.3209109(13-25)Online publication date: 9-Jul-2018
    • (2016)Automating Abstract InterpretationProceedings of the 17th International Conference on Verification, Model Checking, and Abstract Interpretation - Volume 958310.1007/978-3-662-49122-5_1(3-40)Online publication date: 17-Jan-2016
    • (2015)From Categorical Logic to Facebook EngineeringProceedings of the 2015 30th Annual ACM/IEEE Symposium on Logic in Computer Science (LICS)10.1109/LICS.2015.11(17-20)Online publication date: 6-Jul-2015
    • (2013)Automatic Inference of Necessary PreconditionsProceedings of the 14th International Conference on Verification, Model Checking, and Abstract Interpretation - Volume 773710.1007/978-3-642-35873-9_10(128-148)Online publication date: 20-Jan-2013
    • (2013)Bi-Abduction with Pure Properties for Specification InferenceProceedings of the 11th Asian Symposium on Programming Languages and Systems - Volume 830110.1007/978-3-319-03542-0_8(107-123)Online publication date: 9-Dec-2013
    • (2011)InferProceedings of the Third international conference on NASA Formal methods10.5555/1986308.1986345(459-465)Online publication date: 18-Apr-2011
    • (2011)Compositional Shape Analysis by Means of Bi-AbductionJournal of the ACM10.1145/2049697.204970058:6(1-66)Online publication date: 1-Dec-2011
    • (2011)Bottom-up shape analysis using LISFACM Transactions on Programming Languages and Systems10.1145/2039346.203934933:5(1-41)Online publication date: 23-Nov-2011
    • (2011)A shape analysis for optimizing parallel graph programsProceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages10.1145/1926385.1926405(159-172)Online publication date: 26-Jan-2011
    • (2011)A shape analysis for optimizing parallel graph programsACM SIGPLAN Notices10.1145/1925844.192640546:1(159-172)Online publication date: 26-Jan-2011
    • Show More Cited By

    View Options

    View options

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media