• DocumentCode
    3232463
  • Title

    Finding latent code errors via machine learning over program executions

  • Author

    Brun, Yuriy ; Ernst, Michael D.

  • Author_Institution
    Lab. for Molecular Sci., Southern California Univ., Los Angeles, CA, USA
  • fYear
    2004
  • fDate
    23-28 May 2004
  • Firstpage
    480
  • Lastpage
    490
  • Abstract
    This paper proposes a technique for identifying program properties that indicate errors. The technique generates machine learning models of program properties known to result from errors, and applies these models to program properties of user-written code to classify and rank properties that may lead the user to errors. Given a set of properties produced by the program analysis, the technique selects a subset of properties that are most likely to reveal an error. An implementation, the fault invariant classifier, demonstrates the efficacy of the technique. The implementation uses dynamic invariant detection to generate program properties. It uses support vector machine and decision tree learning tools to classify those properties. In our experimental evaluation, the technique increases the relevance (the concentration of fault-revealing properties) by a factor of 50 on average for the C programs, and 4.8 for the Java programs. Preliminary experience suggests that most of the fault-revealing properties do lead a programmer to an error.
  • Keywords
    C language; Java; decision trees; fault diagnosis; learning (artificial intelligence); program diagnostics; support vector machines; C programs; Java programs; decision tree learning tools; dynamic invariant detection; fault invariant classifier; fault-revealing properties; latent code errors; machine learning models; program analysis; program executions; program properties; support vector machine; user-written code; Classification tree analysis; Computer errors; Computer science; Decision trees; Laboratories; Machine learning; Programming profession; Support vector machine classification; Support vector machines; Testing;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering, 2004. ICSE 2004. Proceedings. 26th International Conference on
  • ISSN
    0270-5257
  • Print_ISBN
    0-7695-2163-0
  • Type

    conf

  • DOI
    10.1109/ICSE.2004.1317470
  • Filename
    1317470