{"title":"检测、理解和解决构建和测试冲突","authors":"L. Silva","doi":"10.1109/ICSE-Companion.2019.00079","DOIUrl":null,"url":null,"abstract":"Collaborative software development allows developers to contribute to the same project simultaneously performing different activities. Although this might increase development productivity, it also brings conflicts among developers contributions. Different kinds of conflicts can arise, but previous studies have often focused on merge conflicts. So we aim to further investigate build and test conflicts occurrence, that are conflicts revealed by failures when building and testing integrated code, respectively. For that, we intend to study the causes of build and test conflicts, their adopted resolution patterns, and the factors that are associated with the conflict occurrence. Based on these results, we plan to develop a tool for helping developers when resolving build and test conflicts. Our initial results, analyzing Java projects, show that most build conflicts are caused by missing declarations removed or renamed by one developer but referenced by the changes of another developer. We also verified these conflicts are often resolved by removing the dangling reference. Based on such finding, we developed a prototype that recommends fixes for these build conflicts.","PeriodicalId":273100,"journal":{"name":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","volume":"9 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-05-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":"{\"title\":\"Detecting, Understanding and Resolving Build and Test Conflicts\",\"authors\":\"L. Silva\",\"doi\":\"10.1109/ICSE-Companion.2019.00079\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Collaborative software development allows developers to contribute to the same project simultaneously performing different activities. Although this might increase development productivity, it also brings conflicts among developers contributions. Different kinds of conflicts can arise, but previous studies have often focused on merge conflicts. So we aim to further investigate build and test conflicts occurrence, that are conflicts revealed by failures when building and testing integrated code, respectively. For that, we intend to study the causes of build and test conflicts, their adopted resolution patterns, and the factors that are associated with the conflict occurrence. Based on these results, we plan to develop a tool for helping developers when resolving build and test conflicts. Our initial results, analyzing Java projects, show that most build conflicts are caused by missing declarations removed or renamed by one developer but referenced by the changes of another developer. We also verified these conflicts are often resolved by removing the dangling reference. Based on such finding, we developed a prototype that recommends fixes for these build conflicts.\",\"PeriodicalId\":273100,\"journal\":{\"name\":\"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)\",\"volume\":\"9 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2019-05-25\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"3\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ICSE-Companion.2019.00079\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICSE-Companion.2019.00079","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 3

摘要

协作软件开发允许开发人员在执行不同活动的同时为同一个项目做出贡献。尽管这可能会提高开发效率,但它也会带来开发人员贡献之间的冲突。不同类型的冲突可能会出现,但之前的研究通常集中在合并冲突上。因此,我们的目标是进一步研究构建和测试冲突的发生,即分别在构建和测试集成代码时失败所揭示的冲突。为此,我们打算研究构建和测试冲突的原因,它们采用的解决模式,以及与冲突发生相关的因素。基于这些结果,我们计划开发一个工具来帮助开发人员解决构建和测试冲突。通过分析Java项目,我们的初步结果表明,大多数构建冲突是由于缺少由一个开发人员删除或重命名的声明,而另一个开发人员的更改引用了这些声明。我们还验证了这些冲突通常可以通过删除悬空引用来解决。基于这样的发现,我们开发了一个原型,建议修复这些构建冲突。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
Detecting, Understanding and Resolving Build and Test Conflicts
Collaborative software development allows developers to contribute to the same project simultaneously performing different activities. Although this might increase development productivity, it also brings conflicts among developers contributions. Different kinds of conflicts can arise, but previous studies have often focused on merge conflicts. So we aim to further investigate build and test conflicts occurrence, that are conflicts revealed by failures when building and testing integrated code, respectively. For that, we intend to study the causes of build and test conflicts, their adopted resolution patterns, and the factors that are associated with the conflict occurrence. Based on these results, we plan to develop a tool for helping developers when resolving build and test conflicts. Our initial results, analyzing Java projects, show that most build conflicts are caused by missing declarations removed or renamed by one developer but referenced by the changes of another developer. We also verified these conflicts are often resolved by removing the dangling reference. Based on such finding, we developed a prototype that recommends fixes for these build conflicts.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
On the Deterioration of Learning-Based Malware Detectors for Android Quantifying Patterns and Programming Strategies in Block-Based Programming Environments A Data-Driven Security Game to Facilitate Information Security Education Toward Detection and Characterization of Variability Bugs in Configurable C Software: An Empirical Study Mimicking User Behavior to Improve In-House Test Suites
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1