• DocumentCode
    1362629
  • Title

    Dynamic Analysis for Diagnosing Integration Faults

  • Author

    Mariani, Leonardo ; Pastore, Fabrizio ; Pezz, Mauro

  • Author_Institution
    Dept. of Inf., Syst. & Commun., Univ. of Milano Bicocca, Milan, Italy
  • Volume
    37
  • Issue
    4
  • fYear
    2011
  • Firstpage
    486
  • Lastpage
    508
  • Abstract
    Many software components are provided with incomplete specifications and little access to the source code. Reusing such gray-box components can result in integration faults that can be difficult to diagnose and locate. In this paper, we present Behavior Capture and Test (BCT), a technique that uses dynamic analysis to automatically identify the causes of failures and locate the related faults. BCT augments dynamic analysis techniques with model-based monitoring. In this way, BCT identifies a structured set of interactions and data values that are likely related to failures (failure causes), and indicates the components and the operations that are likely responsible for failures (fault locations). BCT advances scientific knowledge in several ways. It combines classic dynamic analysis with incremental finite state generation techniques to produce dynamic models that capture complementary aspects of component interactions. It uses an effective technique to filter false positives to reduce the effort of the analysis of the produced data. It defines a strategy to extract information about likely causes of failures by automatically ranking and relating the detected anomalies so that developers can focus their attention on the faults. The effectiveness of BCT depends on the quality of the dynamic models extracted from the program. BCT is particularly effective when the test cases sample the execution space well. In this paper, we present a set of case studies that illustrate the adequacy of BCT to analyze both regression testing failures and rare field failures. The results show that BCT automatically filters out most of the false alarms and provides useful information to understand the causes of failures in 69 percent of the case studies.
  • Keywords
    fault diagnosis; object-oriented programming; program testing; software fault tolerance; BCT; Integration Faults; behavior capture and test technique; dynamic analysis; incremental finite state generation techniques; model-based monitoring; software components; Analytical models; Automata; Engines; Inference algorithms; Monitoring; Software; Testing; Dynamic Analysis; diagnosis; false positive filters; fault localization; field failure analysis.; regression failure analysis;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.2010.93
  • Filename
    5611554