Localizing Program Logical Errors Using Extraction of Knowledge from Invariants

  • Mojtaba Daryabari
  • Behrouz Minaei-Bidgoli
  • Hamid Parvin
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6630)


Program logical error localization and program testing are two of the most important sections in software engineering. Programmers or companies that produce programs will lose their credit and profit effectively if one of their programs delivered to a customer has any drawback. Nowadays there are many methods to test a program. This paper suggests a framework to localize the program logical errors by extraction of knowledge from invariants using a clustering technique.


Daikon Invariant Dynamic Invariant Detection Variable Relations Program point Software engineering Verification 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Catal, C., Diri, B.: Investigating the effect of dataset size, metrics sets, and feature selection techniques on software fault prediction problem. Information Sciences 179(8), 1040–1058 (2009)CrossRefGoogle Scholar
  2. 2.
    Catal, C.: Software fault prediction: A literature review and current trends. Expert Systems with Applications 38, 4626–4636 (2011)CrossRefGoogle Scholar
  3. 3.
    Cook, J.E., Wolf, A.L.: Discovering Models of Software Processes from Event-Based Data. ACM Trans. Software Eng. and Methodology (1998a)Google Scholar
  4. 4.
    Cook, J.E., Wolf, A.L.: Event-Based Detection of Concurrency. In: Proc. ACM SIGSOFT Symp. (1998b)Google Scholar
  5. 5.
    Dwyer, M.B., Clarke, L.A.: Data Flow Analysis for Verifying Properties of Concurrent Programs. In: Proc. Second ACM SIGSOFT Symp. (1994)Google Scholar
  6. 6.
    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
  7. 7.
    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
  8. 8.
    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
  9. 9.
    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
  10. 10.
    Lencevicius, R., Ho È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
  11. 11.
    Menzies, T., Greenwald, J., Frank, A.: Data mining static code attributes to learn defect predictors. IEEE Transactions on Software Engineering 33(1), 2–13 (2007)CrossRefGoogle Scholar
  12. 12.
    Mitchell, M.: An Introduction to Genetic Algorithms. The MIT Press, Cambridge (1998)zbMATHGoogle Scholar
  13. 13.
    Moraglio, A., Kim, Y.H., Yoon, Y., Moon, B.R., Poli, R.: Generalized cycle crossover for graph partitioning. In: GECCO (2006)Google Scholar
  14. 14.
    Nimmer, J.W., Ernst, M.D.: Automatic Generation of Program Specifications. In: Proc. Int’l Symp. Software Testing and Analysis (2002)Google Scholar
  15. 15.
    Perkins, J.H., Ernst, M.D.: Efficient Incremental Algorithms for Dynamic Detection of Likely Invariants. In: Proc. ACM SIGSOFT Symp. (2004)Google Scholar
  16. 16.
    Schmitt, H., Weiß, B.: Inferring Invariants by Static Analysis in KeY (2007)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Mojtaba Daryabari
    • 1
  • Behrouz Minaei-Bidgoli
    • 1
  • Hamid Parvin
    • 1
  1. 1.School of Computer EngineeringIran University of Science and Technology (IUST)TehranIran

Personalised recommendations