What is BCT?

Classic fault localization techniques can automatically provide information about the suspicious code blocks that are likely responsible for observed failures. This information is useful, but not sufficient to completely understand the causes of failing executions, which still require further (time-consuming) investigations to be exactly identified.

A useful and comprehensive source of information is frequently given by the set of unexpected events that have been observed during failures. Sequences of unexpected events are usually simple to be interpret, and testers can guess the expected correct sequences of events from the faulty sequences.

BCT is a tool that automatically identifies anomalous events that likely caused failures, filters the possible false positives, and presents the resulting data by building views that show chains of cause-effect relations, i.e., views that show when anomalous events are caused by other anomalous events. BCT comes with a library that provides its core functionality and an Eclipse plugin that provides management and visualization facilities.

A detailed description of BCT is provided in the following scientific publications:

  • Leonardo Mariani and Fabrizio Pastore and Mauro Pezzè. Dynamic Analysis for Diagnosing Integration Faults. IEEE Transactions on Software Engineering, 2011 (to appear).
  • Fabrizio Pastore. Automatic Diagnosis of Software Functional Faults by Means of Inferred Behavioral Models. PhD Thesis. 2010.
  • Alessandra Gorla and Leonardo Mariani and Fabrizio Pastore and Mauro Pezzè and Jochen Wuttke. Achieving Cost-Effective Software Reliability Through Self-Healing. Computing and Informatics, 2010
  • Leonardo Mariani and Fabrizio Pastore and Mauro Pezzè. A Toolset for Automated Failure Analysis. proceedings of the International Conference on Software Engineering (ICSE) - formal tool Demo, 2009
  • Leonardo Mariani and Mauro Pezzè. Testing Object Oriented Software. Wiley-IEEE Computer Society Press, 2008
  • L. Mariani and M. Pezzè. Dynamic Detection of COTS Components Incompatibility. IEEE Software, 2007
  • Leonardo Mariani and Sofia Papagiannakis and Mauro Pezzè. Compatibility and Regression Testing of COTS-component-based Software. proceedings of the 29th International Conference on Software Engineering (ICSE 2007), 2007
  • Davide Lorenzoli and Leonardo Mariani and Mauro Pezzè. Inferring state-based behavior models. ACM Press, 4th International Workshop on Dynamic Analysis (WODA 2006) co-located with the 28th International Conference on Software Engineering (ICSE 2006), 2006
  • Leonardo Mariani and Mauro Pezzè. Behavior Capture and Test: Automated Analysis of Component Integration. proceedings of the 10th IEEE International Conference on Engineering of Complex Computer Systems, 2005
  • Leonardo Mariani. Behavior Capture and Test: Dynamic Analysis of Component-Based Systems. PhD Thesis. 2005
  • Leonardo Mariani. Behavior Capture and Test for Verifying Evolving Component-Based Systems. IEEE Computer Society, proceedings of 26th International Conference on Software Engineering ICSE Doctoral Symposium, 2004
  • Leonardo Mariani and Mauro Pezzè. A Technique for Verifying Component-Based Software. Elsevier, proceedings of the International Workshop on Test and Analysis of Component Based Systems (TACoS) satellite workshop at the European Joint Conferences on Theory and Practice of Software (ETAPS), 2004
  • Leonardo Mariani and Mauro Pezzè. Behavior Capture and Test for Controlling the Quality of Component-Based Integrated Systems. proceedings of Tool-Integration in System Development Workshop at the 9th European Software Engineering Conference and the 10th International Symposium on Foundations of Software Engineering (ESEC/FSE), 2003