Font Size: a A A

Feature location using unit test coverage in an agile development environment

Posted on:2015-02-08Degree:Ph.DType:Dissertation
University:Kent State UniversityCandidate:DeLozier, Gregory SFull Text:PDF
GTID:1478390020452271Subject:Computer Science
Abstract/Summary:
The research investigates an effective, practical method for locating where software features are actually implemented in source code. The method is specifically aimed at software developed in agile process environments. Locating features in code is critical for almost all software maintenance and evolution activities. For example, given a bug report one must find where the relevant source code is located within the system. This becomes a very difficult task when the software systems contain millions of lines of code. In the method of software reconnaissance, features are located by comparing a code coverage trace of a test invoking the feature of interest with a masking trace that omits invoking the feature. The masking trace is used to hide the parts of the trace not relevant to the feature. In an agile project, invoking tests are integral components and always developed for each release, but masking tests are rarely, if ever, developed. This limits the usefulness of the reconnaissance method.;In this dissertation, the agile artifact properties are modeled to determine if the necessary masking tests can be reliably created from combining unit tests written at other times in the agile process. An experiment was conducted to determine if masking tests can be created in this manner, and if the resulting locations identified can be used to significantly improve the performance of professional programmers in tasks involving locating feature implementations in real-world software projects. Using professional software developers as experimental participants, significant improvements in time of feature location, confidence in location, and accuracy of feature location were found over traditional text search when participants used locations derived from this method as a starting point for feature location tasks.
Keywords/Search Tags:Feature, Method, Agile, Software, Code
Related items