skip to main content
10.1145/996821.996832acmconferencesArticle/Chapter ViewAbstractPublication PagespasteConference Proceedingsconference-collections
Article

Dynamically inferring temporal properties

Published: 07 June 2004 Publication History

Abstract

Model checking requires a specification of the target system's desirable properties, some of which are temporal. Formulating a temporal property of the system based on either its abstract model or implementation requires a deep understanding of its behavior and sophisticated knowledge of the chosen formalism. This has been a major impediment to documenting and verifying temporal properties. We propose a dynamic approach to automatically infer a program's temporal properties based on a set of property pattern templates. We describe a preliminary implementation of this approach, and report on our experience using it to discover interesting temporal properties of a small program.

References

[1]
G. Ammons, R. Bodik, and J. R. Larus. Mining specifications. In ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL '02), January 2002.
[2]
G. Ammons, D. Mandelin, R. Bodik, and J. R. Larus. Debugging temporal specifications with concept analysis. In SIGPLAN Conference on Programming Language Design and Implementation, June 2003.
[3]
T. Ball and S. K. Rajamani. Automatically validating temporal safety properties of interfaces. In 8th International SPIN Workshop on Model Checking of Software, May 2001.
[4]
G. Brat, K. Havelund, S. Park, and W. Visser. Model checking programs. In 15th IEEE International Conference on Automated Software Engineering, September 2000.
[5]
J. E. Cook, Z. Du, C. Liu, and A. L. Wolf. Discovering models of behavior for concurrent systems. New Mexico State University Technical Report, NMSU-CSTR-2002-010.
[6]
J. Corbett, M. Dwyer, J. Hatcliff, S. Laubach, C. Pasareanu, Robby, H. Zheng. Bandera: extracting finite-state models from Java source code. In 22nd International Conference on Software Engineering, June 2000.
[7]
J. Corbett, M. Dwyer, and J. Hatcliff, and Robby. Expressing checkable properties of dynamic systems: the Bandera specification language. KSU CIS Technical Report 2001 -04, Kansas State University, 2001.
[8]
M. Dwyer, G. Avrunin, and J. Corbett. Patterns in property specifications for finite-state verification. In 21 st International Conference on Software Engineering, May 1999.
[9]
M. D. Ernst, J. Cockrell, W. G. Griswold, and D. Notkin. Dynamically discovering likely program invariants to support program evolution. In IEEE Transactions on Software Engineering, February 2001.
[10]
G. J. Holzmann. The model checker Spin. In IEEE Transactions on Software Engineering, May 1997.
[11]
G. J. Holzmann. The logic of bugs. In 10th ACM SIGSOFT International Symposium on Foundations of Software Engineering, November 2002.
[12]
K. Havelund and T. Pressburger. Model checking Java programs using Java PathFinder. In International Journal on Software Tools for Technology Transfer, September 1999.
[13]
K. Havelund. Using runtime analysis to guide model checking of Java programs. In 7th International SPIN Workshop on Model Checking of Software, August/September 2000.
[14]
J. W. Nimmer and M. D. Ernst. Invariant inference for static checking: an empirical evaluation. In ACM SIGSOFT 10th International Symposium on the Foundations of Software Engineering, November 2002.
[15]
K. M. Olender and L. J. Osterweil. Cecil: a sequencing constraint language for automatic static analysis generation. In IEEE Transactions on Software Engineering, March 1990.
[16]
A. Pnueli. The temporal logic of programs. In 18th Annual Symposium on Foundations of Computer Science, October/November 1977.
[17]
J. Whaley, M. C. Martin, and M. S. Lam. Automatic extraction of object-oriented component interfaces. In International Symposium on Software Testing and Analysis, July 2002.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PASTE '04: Proceedings of the 5th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
June 2004
64 pages
ISBN:1581139101
DOI:10.1145/996821
Permission to make digital or hard copies of all or part 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 components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 07 June 2004

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. concurrent programming
  2. dynamic analysis
  3. invariants
  4. property patterns
  5. temporal properties

Qualifiers

  • Article

Conference

PASTE04

Acceptance Rates

PASTE '04 Paper Acceptance Rate 10 of 37 submissions, 27%;
Overall Acceptance Rate 57 of 159 submissions, 36%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)18
  • Downloads (Last 6 weeks)0
Reflects downloads up to 23 Dec 2024

Other Metrics

Citations

Cited By

View all

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