FLABot

FLABot is a fault-localization and debugging tool for Eclipse plug-ins, which is based on architectural information for aproximating those regions of code where faults are most likely originated.

FLABot

FLABot

     

FLABot is a fault-localization and debugging tool for Eclipse plug-ins, which is based on architectural information for aproximating those regions of code where faults are most likely originated.

This is a joint project developed at the ISISTAN Research Institute (Facutly of Sciences, UNICEN University) and supported by Intel Corporation.

Project Description

Debugging is one of the most problematic activities of software development, because it usually implies a complex process of analysis and reasoning to find faults. Currently, most of the existing techniques to deal with debugging operate at the level of source code. However, this is not always the best approach, as the developer can be overwhelmed by the thousands of lines of code that have to be covered in today systems. This tendency indicates the need of approaches able to assist the developer in more productive and cost-effective ways.

In this context, we argue that this problem should be tackled by architectural means, that is, we propose an approach based on the identification of the main architectural scenarios of the design, and the systematic exploration of the paths through which these scenarios map to lower-level design issues. By doing so, we can build a tool that can guide the developer in the process of locating faults at higher levels of abstraction, thus, improving the quality of the solutions and reducing the resources spent in this process.

In this context, FLABot is conceived as an assistance agent that considers the structural/behavioral relationships among the components of the architectural model, and also relates the responsibilities allocated to these components with suitable code structures (e.g., classes and methods). The first aspect is devoted to the exploration of the architectural model in order to locate faulty responsibilities, whereas the latter aspect covers the necessary instrumentation of the plug-in to run a specialized debugging of these responsibilities across the code. Of course, the approach assumes that the developer initially provides some guesses about the sources of the errors.

Click on this link to get more detail: http://www.exa.unicen.edu.ar/isistan/flabot/