Affiliation:
1. SVIT Research Group, Universidad San Jorge, Zaragoza, Spain
Abstract
In industry, software projects might span over decades, with many engineers joining or leaving the company over time. In these circumstances, no single engineer has all of the knowledge when maintenance tasks such as Traceability Link Recovery (TLR), Bug Localization (BL), and Feature Location (FL) are performed. Thus, collaboration has the potential to boost the quality of maintenance tasks since the solution advanced by one engineer might be enhanced with contributions from other engineers. However, assembling a team of software engineers to collaborate may not be as intuitive as we might think. In the context of a worldwide industrial supplier of railway solutions, this work evaluates how the quality of TLR, BL, and FL is affected by the criteria for selecting engineers for collaboration. The criteria for collaboration are based on engineers’ profile information to select the set of search queries that are involved in the maintenance task. Collaboration is achieved by applying automatic query reformulation, and the location relies on an evolutionary algorithm. Our work uncovers how software engineers who might be seen as not being relevant in the collaboration can lead to significantly better results. A focus group confirmed the relevance of the findings.
Funder
Ministry of Economy and Competitiveness
Spanish National R+D+i Plan and ERDF
VARIATIVA
Gobierno de Aragón
Publisher
Association for Computing Machinery (ACM)
Reference70 articles.
1. 2021. Apache OpenNLP: Toolkit for the processing of natural language text. Retrieved September 12 2022 from https://opennlp.apache.org/.
2. 2021. Efficient Java Matrix Library. Retrieved September 12 2022 from http://ejml.org/.
3. 2021. English (Porter2) stemming algorithm. Retrieved September 12 2022 from http://snowball.tartarus.org/algorithms/english/stemmer.html.
4. A Hitchhiker's guide to statistical tests for assessing randomized algorithms in software engineering
5. Parameter tuning or default values? An empirical investigation in search-based software engineering