Proceedings of the 40th International Conference on Software Engineering: Companion Proceeedings


Anthology ID:
G18-145
Month:
Year:
2018
Address:
Venue:
GWF
SIG:
Publisher:
ACM
URL:
https://gwf-uwaterloo.github.io/gwf-publications/G18-145
DOI:
Bib Export formats:
BibTeX MODS XML EndNote

pdf bib
Improving bug localization with report quality dynamics and query reformulation
Mohammad Masudur Rahman | Chanchai K. Roy

Recent findings from a user study suggest that IR-based bug localization techniques do not perform well if the bug report lacks rich structured information such as relevant program entity names. On the contrary, excessive structured information such as stack traces in the bug report might always not be helpful for the automated bug localization. In this paper, we conduct a large empirical study using 5,500 bug reports from eight subject systems and replicating three existing studies from the literature. Our findings (1) empirically demonstrate how quality dynamics of bug reports affect the performances of IR-based bug localization, and (2) suggest potential ways (e.g., query reformulations) to overcome such limitations.

pdf bib
Fast, scalable and user-guided clone detection
Jeffrey Svajlenko | Chanchai K. Roy

Despite the great number of clone detection approaches proposed in the literature, few have the scalability and speed to analyze large inter-project source datasets, where clone detection has many potential applications. Furthermore, because of the many uses of clone detection, an approach is needed that can adapt to the needs of the user to detect any kind of clone. We propose a clone detection approach designed for user-guided clone detection by exploiting the power of source transformation in a plugin based source processing pipeline. Clones are detected using a simple Jaccard-based clone similarity metric, and users customize the representation of their source code as sets of terms to target particular types or kinds of clones. Fast and scalable clone detection is achieved with indexing, sub-block filtering and input partitioning.