Clustering and Ranking Unit Bugs Using Dynamic Invariants.

Date of Submission

December 2013

Date of Award

Winter 12-12-2014

Institute Name (Publisher)

Indian Statistical Institute

Document Type

Master's Dissertation

Degree Name

Master of Technology

Subject Name

Computer Science


Advance Computing and Microelectronics Unit (ACMU-Kolkata)


Banerjee, Ansuman (ACMU-Kolkata; ISI)

Abstract (Summary of the Work)

Unit testing and verification constitutes an important step in the validation life cycle of large and complex multi-function software code bases. Many unit verification methods often suffer from the problem of false negatives, when they analyse a function in isolation and look for errors. It often turns out that some of the reported unit failures are infeasible, i.e. the valuations of the function input parameters that trigger the failure scenarios, though feasible on the function in isolation, cannot occur in practice considering the integrated code, in which the function-under-test is instantiated. To address this problem, we present in this paper, an automated two-stage failure scenario classification and prioritization strategy that can filter out false negatives and cluster them accordingly. In the first stage, we use Daikon to identify input constraints on the function under test, by mining invariants on the function boundary. Each invariant thus generated is assigned a confidence by Daikon. In the second stage, we associate a confidence to each failure scenario by analysing the invariants they are in conflict with, and compute their respective confidence values. Failures with similar characteristics are clustered together and assigned the same confidence value. The confidence values enable us assign priorities to the failure scenarios and help us prioritize the bug fixing activity. Experiments show that our clustering and prioritization scheme works quite well in practice.


ProQuest Collection ID:

Control Number


Creative Commons License

Creative Commons Attribution 4.0 International License
This work is licensed under a Creative Commons Attribution 4.0 International License.


This document is currently not available here.