Software design is crucial during software development as good design decisions result in higher quality software. Conversely, the literature has shown that poor design decisions have led to issues such as increased defects and changes and technical debt in the software. Technical debt is shortcuts taken during software development that have negative consequences if not managed long-term. Discussion among developers on software development platforms such as GitHub often gives insights into their decisions during software development.
This study investigates the impact of software design discussion on software quality.
- First, we will extract and combine artifacts where discussion occurs, e.g., pull request comments, issues, and code reviews, to build a dataset for a set of open-source projects from GitHub.
- Next, we will use topic modelling to identify the topics related to software design, manually label a sample of the dataset and then train and use a machine learning classifier to automate the process.
- Next, we will consider changes corresponding to the closing of the issue (containing the design discussion), and then relevant software quality metrics will be extracted in the software versions before and after that change.
- Finally, we will analyze and visualize the metrics to determine any trend to conclude whether the discussion about software design impacts the quality of software.
- Demonstrated programming knowledge, especially in Java/C/C++
- Demonstrated skills using external tools and connecting to pipelines
- Ability to follow systematic protocols and methodologies.
- Demonstrated writing/communication skills.
M. Vidoni "A Systematic Process for Mining Software Repositories: Results from a Systematic Literature Review", Information and Software Tecnology, 2021. ISSN 0950-5849.https://doi.org/10.1016/j.infsof.2021.106791
George, G., Kotey, J., Ripley, M., Sultana, K. Z., & Codabux, Z. "A Preliminary Study on Common Programming Mistakes that Lead to Buffer Overflow Vulnerability", in 2021 IEEE 45th Annual Computers, Software, and Applications Conference (COMPSAC) (pp. 1375-1380). IEEE. https://doi-org.virtual.anu.edu.au/10.1109/COMPSAC...
- Mining Software Repositories
- Developers' Insights
- Code Quality
- Code Measuremenet