Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2527269.2527280acmconferencesArticle/Chapter ViewAbstractPublication PagesadaConference Proceedingsconference-collections
abstract

Technology for inferring contracts from code

Published: 10 November 2013 Publication History

Abstract

Contracts are a simple yet very powerful form of specification. They consists of method preconditions and post-conditions, of object invariants, and of assertions and loop invariants. Ideally, the programmer will annotate all of her code with contracts which are mechanically checked by some static analysis tool. In practice, programmers only write few contracts, mainly preconditions and some object invariants. The reason for that is that other contracts are "clear from the code": Programmers do not like to repeat themselves. As a consequence, any usable static verification tool should provide some form of contract inference.

References

[1]
M. Bouaziz, L. Logozzo, and M. Fähndrich. Inference of necessary field conditions with abstract interpretation. In APLAS, 2012.
[2]
P. Cousot and R. Cousot. Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In POPL'77. ACM Press, Jan. 1977.
[3]
P. Cousot, R. Cousot, M. Fähndrich, and F. Logozzo. Automatic inference of necessary preconditions. In VMCAI, pages 128--148, 2013.
[4]
P. Cousot, R. Cousot, and F. Logozzo. Contract precondition inference from intermittent assertions on collections. In VMCAI'11, 2011.
[5]
P. Cousot, R. Cousot, and F. Logozzo. A parametric segmentation functor for fully automatic and scalable array content analysis. In Proceeding of the 38th ACM Symposium on Principles of Programming Languages (POPL 2011). ACM Press, Jan. 2011.
[6]
V. Laviron and F. Logozzo. Subpolyhedra: A (more) scalable approach to infer linear inequalities. In VMCAI '09, 2009.
[7]
F. Logozzo. Modular static analysis of object-oriented languages. Thèse de doctorat en informatique, École poly technique, 2004.
[8]
F. Logozzo. Class invariants as abstract interpretation of trace semantics. Computer Languages, Systems & Structures, 35(2):100--142, 2009.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
HILT '13: Proceedings of the 2013 ACM SIGAda annual conference on High integrity language technology
November 2013
100 pages
ISBN:9781450324670
DOI:10.1145/2527269
Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.

Sponsors

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 10 November 2013

Check for updates

Author Tags

  1. abstract interpretation
  2. contracts
  3. inference

Qualifiers

  • Abstract

Conference

HILT 2013
Sponsor:
HILT 2013: High Integrity Language Technology ACM SIGAda Annual
November 10 - 14, 2013
Pennsylvania, Pittsburgh, USA

Acceptance Rates

HILT '13 Paper Acceptance Rate 9 of 17 submissions, 53%;
Overall Acceptance Rate 27 of 48 submissions, 56%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 135
    Total Downloads
  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)0
Reflects downloads up to 18 Jan 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media