CoRA: Decomposing and Describing Tangled Code Changes for Reviewer
Code review is an important mechanism for code quality assurance both in open source software and industrial software. Reviewers usually suffer from numerous, tangled and loosely related code changes are bundled in a single commit, which makes code review very difficult. In this paper, we propose CoRA (Code Review Assistant), an automatic approach to decompose a tangled commit into different parts and generate concise descriptions for reviewers. More specifically, CoRA can decompose a commit into independent parts (e.g., bug fixing, new feature adding, or refactoring) by code dependency analysis and tree-based similar-code detection, then identify the most important code changes in each part based on PageRank algorithm and heuristic rules. As a result, CoRA can generate a concise description for each part of the commit. We evaluate our approach in 7 open source software projects and 50 code commits. The results indicate that CoRA can improve the accuracy of decomposing code changes by 6.3% over the state-of-art practice. At the same time, CoRA can identify the important part from the fine-grained code changes with a mean average precision (MAP) of 87.7%. We also conduct a human study with 8 participants to evaluate the performance and usefulness of CoRA, the user feedback indicates that CoRA can effectively help reviewers
Thu 14 Nov
16:00 - 17:40: Papers - Untangling and Merging at Cortez 2&3 Chair(s): Iftekhar AhmedUniversity of California at Irvine, USA | ||||||||||||||||||||||||||||||||||||||||||
16:00 - 16:20 Talk | The Impact of Structure on Software Merging: Semistructured versus Structured Merge Guilherme CavalcantiFederal University of Pernambuco, Brazil, Paulo BorbaFederal University of Pernambuco, Brazil, Georg SeibtUniversity of Passau, Sven ApelSaarland University Pre-print | |||||||||||||||||||||||||||||||||||||||||
16:20 - 16:40 Talk | Semistructured Merge in JavaScript Systems Alberto Trindade TavaresFederal University of Pernambuco, Paulo BorbaFederal University of Pernambuco, Brazil, Guilherme CavalcantiFederal University of Pernambuco, Brazil, Sergio SoaresFederal University of Pernambuco Pre-print | |||||||||||||||||||||||||||||||||||||||||
16:40 - 17:00 Talk | CLCDSA: Cross Language Code Clone Detection using Syntactical Features and API Documentation Kawser NafiUniversity of Saskatchewan, Tonny Shekha KarUniversity of Saskatchewan, Canada, Banani RoyUniversity of Saskatchewan, Chanchal K. RoyUniversity of Saskatchewan, Kevin SchneiderUniversity of Saskatchewan | |||||||||||||||||||||||||||||||||||||||||
17:00 - 17:20 Talk | B2SFinder: Detecting Open-Source Software Reuse in COTS Software Muyue FengInstitute of Information Engineering, Chinese Academy of Sciences, Zimu YuanInstitute of Information Engineering, Chinese Academy of Sciences, Feng LiInstitute of Computing Technology at Chinese Academy of Sciences, China, Gu BanInstitute of Information Engineering, Chinese Academy of Sciences, Yang XiaoInstitute of Information Engineering, Chinese Academy of Sciences & School of Cyber Security, University of Chinese Academy of Sciences, Shiyang WangInstitute of Information Engineering, Chinese Academy of Sciences, Qian TangInstitute of Information Engineering, Chinese Academy of Sciences, He SuInstitute of Information Engineering, Chinese Academy of Sciences, Chendong YuUniversity of Chinese Academy of Sciences, Jiahuan XuInstitute of Information Engineering, Chinese Academy of Sciences, Aihua PiaoInstitute of Information Engineering, Chinese Academy of Sciences, Jingling XueUNSW Sydney, Wei HuoInstitute of Information Engineering, Chinese Academy of Sciences | |||||||||||||||||||||||||||||||||||||||||
17:20 - 17:40 Talk | CoRA: Decomposing and Describing Tangled Code Changes for Reviewer Min WangPeking University, Zeqi LinMicrosoft Research, China, Yanzhen ZouPeking University, Bing XiePeking University |