skip to main content
10.1145/1401827.1401839acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Extending dynamic constraint detection with disjunctive constraints

Published: 21 July 2008 Publication History

Abstract

The languages of current dynamic constraint detection techniques are often specified by fixed grammars of universal properties. These properties may not be sufficient to express more subtle facts that describe the essential behavior of a given program. In an effort to make the dynamically recovered specification more expressive and program-specific we propose the state space partitioning technique as a solution which effectively adds program-specific disjunctive properties to the language of dynamic constraint detection. In this paper we present ContExt, a prototype implementation of the state space partitioning technique which relies on Daikon for dynamic constraint inference tasks.
In order to evaluate recovered specifications produced by ContExt, we develop a methodology which allows us to measure quantitatively how well a particular recovered specification approximates the essential specification of a program's behavior. The proposed methodology is then used to comparatively evaluate the specifications recovered by ContExt and Daikon on two examples.

References

[1]
Daikon invariant detector. http://pag.csail.mit.edu/daikon.
[2]
P. Arumuga Nainar, T. Chen, J. Rosin, and B. Liblit. Statistical debugging using compound boolean predicates. In International Symposium on Software Testing and Analysis, London, United Kingdom, July 9--12 2007.
[3]
C. Csallner, N. Tillmann, and Y. Smaragdakis. Dysy: Dynamic symbolic execution for invariant inference. Technical Report MSR-TR-2007-151, Microsoft Research, November, 2007.
[4]
V. Dallmaier, C. Lindig, A. Wasylkowski, and A. Zeller. Mining object behavior with ADABU. In WODA '06: Workshop on Dynamic Analysis, Shanghai, China, 2006.
[5]
N. Dodoo, L. Lin, and M. Ernst. Selecting, refining, and evaluating predicates for program analysis. Technical Report MIT-LCS-TR-914, MIT Laboratory for Computer Science, Cambridge, MA, July 21, 2003.
[6]
D. Engler, D. Chen, S. Hallem, A. Chou, and B. Chelf. Bugs as deviant behavior: A general approach to inferring errors in systems code. In Proceedings of the Eighteenth ACM Symposium on Operating Systems Principles, 2001.
[7]
M. D. Ernst, J. H. Perkins, P. J. Guo, S. McCamant, C. Pacheco, M. S. Tschantz, and C. Xiao. The Daikon system for dynamic detection of likely invariants. Science of Computer Programming, 2007.
[8]
M. Fowler, K. Beck, J. Brant, W. Opdyke, and D. Roberts. Refactoring: Improving the Design of Existing Code. Addison-Wesley, 1999.
[9]
D. Jackson. Software Abstractions: Logic, Language, and Analysis. The MIT Press, 2006.
[10]
N. Kuzmina, J. Paul, R. Gamboa, and J. Caldwell. State space discovery by guided dynamic analysis. Technical report, University of Wyoming Department of Computer Science technical report UWCS-08-01 (Laramie, WY), March 2008.
[11]
R. J. Nelson. Simplest normal truth functions. The Journal of Symbolic Logic, 20(2):105--108, 1955.
[12]
J. H. Perkins and M. D. Ernst. Efficient incremental algorithms for dynamic detection of likely invariants. In Proceedings of the ACM SIGSOFT 12th Symposium on the Foundations of Software Engineering (FSE 2004), pages 23--32, Newport Beach, CA, USA, November 2--4, 2004.
[13]
J. Yang, D. Evans, D. Bhardwaj, T. Bhat, and M. Das. Perracotta: Mining temporal api rules from imperfect traces. In ICSE '06: Proceedings of the 28th International Conference on Software Engineering, Shanghai, China, May 20--28, 2006.

Cited By

View all
  • (2025)Discovering Likely Invariants for Distributed Systems Through Runtime Monitoring and LearningVerification, Model Checking, and Abstract Interpretation10.1007/978-3-031-82700-6_1(3-25)Online publication date: 20-Jan-2025
  • (2023)Lightweight precise automatic extraction of exception preconditions in java methodsEmpirical Software Engineering10.1007/s10664-023-10392-x29:1Online publication date: 26-Dec-2023
  • (2022)What Is Thrown? Lightweight Precise Automatic Extraction of Exception Preconditions in Java Methods2022 IEEE International Conference on Software Maintenance and Evolution (ICSME)10.1109/ICSME55016.2022.00038(340-351)Online publication date: Oct-2022
  • Show More Cited By

Index Terms

  1. Extending dynamic constraint detection with disjunctive constraints

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM Conferences
      WODA '08: Proceedings of the 2008 international workshop on dynamic analysis: held in conjunction with the ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2008)
      July 2008
      81 pages
      ISBN:9781605580548
      DOI:10.1145/1401827
      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: 21 July 2008

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. behavioral specification
      2. disjunctive constraint
      3. dynamic constraint inference

      Qualifiers

      • Research-article

      Funding Sources

      Conference

      ISSTA '08
      Sponsor:

      Upcoming Conference

      ICSE 2025

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)2
      • Downloads (Last 6 weeks)0
      Reflects downloads up to 03 Mar 2025

      Other Metrics

      Citations

      Cited By

      View all
      • (2025)Discovering Likely Invariants for Distributed Systems Through Runtime Monitoring and LearningVerification, Model Checking, and Abstract Interpretation10.1007/978-3-031-82700-6_1(3-25)Online publication date: 20-Jan-2025
      • (2023)Lightweight precise automatic extraction of exception preconditions in java methodsEmpirical Software Engineering10.1007/s10664-023-10392-x29:1Online publication date: 26-Dec-2023
      • (2022)What Is Thrown? Lightweight Precise Automatic Extraction of Exception Preconditions in Java Methods2022 IEEE International Conference on Software Maintenance and Evolution (ICSME)10.1109/ICSME55016.2022.00038(340-351)Online publication date: Oct-2022
      • (2015)Exploiting Annotations to Test Break-off Branches2015 Asia-Pacific Software Engineering Conference (APSEC)10.1109/APSEC.2015.25(80-87)Online publication date: Dec-2015
      • (2013)Scaling Model Checking for Test Generation Using Dynamic InferenceProceedings of the 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation10.1109/ICST.2013.29(184-191)Online publication date: 18-Mar-2013
      • (2013)Discovering branching conditions from business process execution logsProceedings of the 16th international conference on Fundamental Approaches to Software Engineering10.1007/978-3-642-37057-1_9(114-129)Online publication date: 16-Mar-2013
      • (2011)Automatic inference of model fields and their representationProceedings of the 13th Workshop on Formal Techniques for Java-Like Programs10.1145/2076674.2076683(1-6)Online publication date: 25-Jul-2011
      • (2011)Inferring better contractsProceedings of the 33rd International Conference on Software Engineering10.1145/1985793.1985820(191-200)Online publication date: 21-May-2011

      View Options

      Login options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Figures

      Tables

      Media

      Share

      Share

      Share this Publication link

      Share on social media