TY - GEN
T1 - Scalable software merging studies with MERGANSER
AU - Owhadi-Kareshk, Moein
AU - Nadi, Sarah
N1 - Publisher Copyright:
© 2019 IEEE.
PY - 2019/5
Y1 - 2019/5
N2 - Software merging researchers constantly need empirical data of real-world merge scenarios to analyze. Such data is currently extracted through individual and isolated efforts, often with non-systematically designed scripts that may not easily scale to large studies. This hinders replication and proper comparison of results. In this paper, we introduce MERGANSER, a scalable and easy-to-use tool for extracting and analyzing merge scenarios in Git repositories. In addition to extracting basic information about merge scenarios from Git history, our tool also replays each merge to detect conflicts and stores the corresponding information of conflicting files and regions. We design a normalized and extensible SQL data schema to store the information of the analyzed repositories, merge scenarios and involved commits, and merge replays and conflicts. By running only one command, our proposed tool clones the target repositories, detects their merge scenarios, and stores their information in a SQL database. MERGANSER is written in Python and released under the MIT license. In this tool paper, we describe MERGANSER's architecture and provide guidance for its usage in practice.
AB - Software merging researchers constantly need empirical data of real-world merge scenarios to analyze. Such data is currently extracted through individual and isolated efforts, often with non-systematically designed scripts that may not easily scale to large studies. This hinders replication and proper comparison of results. In this paper, we introduce MERGANSER, a scalable and easy-to-use tool for extracting and analyzing merge scenarios in Git repositories. In addition to extracting basic information about merge scenarios from Git history, our tool also replays each merge to detect conflicts and stores the corresponding information of conflicting files and regions. We design a normalized and extensible SQL data schema to store the information of the analyzed repositories, merge scenarios and involved commits, and merge replays and conflicts. By running only one command, our proposed tool clones the target repositories, detects their merge scenarios, and stores their information in a SQL database. MERGANSER is written in Python and released under the MIT license. In this tool paper, we describe MERGANSER's architecture and provide guidance for its usage in practice.
KW - Collaborative Software Development
KW - MERGANSER
KW - Scalable Tool
KW - Software Merging
UR - http://www.scopus.com/inward/record.url?scp=85072330374&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85072330374&partnerID=8YFLogxK
U2 - 10.1109/MSR.2019.00084
DO - 10.1109/MSR.2019.00084
M3 - Conference contribution
AN - SCOPUS:85072330374
T3 - IEEE International Working Conference on Mining Software Repositories
SP - 560
EP - 564
BT - Proceedings - 2019 IEEE/ACM 16th International Conference on Mining Software Repositories, MSR 2019
PB - IEEE Computer Society
T2 - 16th IEEE/ACM International Conference on Mining Software Repositories, MSR 2019
Y2 - 26 May 2019 through 27 May 2019
ER -