Decision Support System for Pull Requests Review Using Path-based Network Portrait Divergence and Visualization
Date
2022Metadata
[+] Show full item recordAbstract
Pull requests are widely used in open-source and
industrial environments to contribute and assess contributions.
Unlike the typical code review process, pull requests provide
a more lightweight approach for committing, reviewing, and
managing code changes. Pull request code reviews also serve
multiple objectives, including detecting problems in code, giving
a venue to discuss code contributions, and supporting the easy
integration of external contributions by project maintainers. The
code changes and tests are written for a specific work item
are contained in a pull request. Previous studies have reported
that pull request review is crucial for software development and
that reviewers do not spend more time on test files than on
code files. At the same time, code reviewers are concerned that
the tests that accompany the code modifications are adequate
and cover all possible paths. The purpose of this research is
to determine whether the test changes that go along with the
code changes match the structural changes made in the Pull
Request. The structural changes are determined using recent
network comparison breakthroughs in prior work with
GraphEvo. We also determine whether or not the visual representation and software metrics can support the software review process. We conducted a case study of 14 Java open-source
projects, analyzing thousands of lines of code quality issues in 627 pull requests. We calculated the class level metrics, including
network portrait divergence for each Pull request with and
without change. In addition, for each pull request, we counted the
number of existing test cases that failed due to the modification.
Furthermore, correlations were investigated between class-level
metrics, including network portrait divergence and tests that
failed in pull requests.
Table of Contents
Introduction -- Related work -- Methodology -- Results and evaluations -- Conclusion
Degree
M.S. (Master of Science)