New Efficient Techniques for Dynamic Detection of Likely Invariants

  • Saeed Parsa
  • Behrouz Minaei
  • Mojtaba Daryabari
  • Hamid Parvin
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6593)


Invariants could be defined as prominent relation among program variables. Daikon software has implemented a practical algorithm for invariant detection. There are several other dynamic approaches to dynamic invariant detection. Daikon is considered to be the best software developed for dynamic invariant detection in comparing other dynamic invariant detection methods. However this method has some problems. Its time order is highly which this results in uselessness in practice. The bottleneck of the algorithm is predicate checking. In this paper, two new techniques are presented to improve the performance of the Daikon algorithm. Experimental results show that With regard to these amendments, runtime of dynamic invariant detection is much better than the original method.


Dynamic Invariant Detection Genetic Algorithm Daikon 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Cook, J.E., Wolf, A.L.: Discovering Models of Software Processes from Event-Based Data. ACM Trans. Software Eng. and Methodology (1998a)Google Scholar
  2. 2.
    Cook, J.E., Wolf, A.L.: Event-Based Detection of Concurrency. In: Proc. ACM SIGSOFT Symp. (1998b)Google Scholar
  3. 3.
    Dwyer, M.B., Clarke, L.A.: Data Flow Analysis for Verifying Properties of Concurrent Programs. In: Proc. Second ACM SIGSOFT Symp. (1994)Google Scholar
  4. 4.
    Ernst, M.D., Griswold, W.G., Kataoka, Y., Notkin, D.: Dynamically Discovering Program Invariants Involving Collections. Technical Report UW-CSE-99-11-02 (2000)Google Scholar
  5. 5.
    Ernst, M.D., Perkins, J.H., Guo, P.J., McCamant, S., Pacheco, C., Tschantz, M.S., Xiao, C.: The Daikon System for Dynamic Detection of Likely Invariants. Science of Computer Programming (2006)Google Scholar
  6. 6.
    Evans, D., Guttag, J., Horing, J., Tan, Y.M.: LCLint:A Tool for Using Specification to Check Code. In: Proc. Second ACM SIGSOFT Symp. (1994)Google Scholar
  7. 7.
    Kataoka, Y., Ernst, M.D., Griswold, W.G., Notkin, D.: Automated Support for Program Refactoring Using Invariants. In: Proc. Int”l Conf. Software Maintenance (2001)Google Scholar
  8. 8.
    Lencevicius, R., Hölzle, U., Singh, A.K.: Query-Based Debugging of Object-Oriented Programs. In: Proc. Conf. Object-Oriented Programming, Systems, Languages, and Applications (1997)Google Scholar
  9. 9.
    Mitchell, M.: An Introduction to Genetic Algorithms. The MIT Press, Cambridge (1998)zbMATHGoogle Scholar
  10. 10.
    Moraglio, A., Kim, Y.H., Yoon, Y., Moon, B.R., Poli, R.: Generalized cycle crossover for graph partitioning. In: GECCO (2006)Google Scholar
  11. 11.
    Nimmer, J.W., Ernst, M.D.: Automatic Generation of Program Specifications. In: Proc. Int”l Symp. Software Testing and Analysis (2002)Google Scholar
  12. 12.
    Perkins, J.H. and Ernst, M.D.: Efficient Incremental Algorithms for Dynamic Detection of Likely Invariants. In: Proc. ACM SIGSOFT Symp. (2004) Google Scholar
  13. 13.
    Schmitt, H., Weiβ, B.: Inferring Invariants by Static Analysis in KeY (2007)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Saeed Parsa
    • 1
  • Behrouz Minaei
    • 1
  • Mojtaba Daryabari
    • 1
  • Hamid Parvin
    • 1
  1. 1.Computer Engineering SchoolIran University of Science and Technology (IUST)TehranIran

Personalised recommendations