2015 IEEE International Conference on Software Maintenance and Evolution (ICSME)最新文献

筛选
英文 中文
On the role of developer's scattered changes in bug prediction 浅谈开发人员零散变化在bug预测中的作用
2015 IEEE International Conference on Software Maintenance and Evolution (ICSME) Pub Date : 2015-09-29 DOI: 10.1109/ICSM.2015.7332470
D. D. Nucci, Fabio Palomba, Sandro Siravo, G. Bavota, R. Oliveto, A. D. Lucia
{"title":"On the role of developer's scattered changes in bug prediction","authors":"D. D. Nucci, Fabio Palomba, Sandro Siravo, G. Bavota, R. Oliveto, A. D. Lucia","doi":"10.1109/ICSM.2015.7332470","DOIUrl":"https://doi.org/10.1109/ICSM.2015.7332470","url":null,"abstract":"The importance of human-related factors in the introduction of bugs has recently been the subject of a number of empirical studies. However, such factors have not been captured yet in bug prediction models which simply exploit product metrics or process metrics based on the number and type of changes or on the number of developers working on a software component. Previous studies have demonstrated that focused developers are less prone to introduce defects than non focused developers. According to this observation, software components changed by focused developers should also be less error prone than software components changed by less focused developers. In this paper we capture this observation by measuring the structural and semantic scattering of changes performed by the developers working on a software component and use these two measures to build a bug prediction model. Such a model has been evaluated on five open source systems and compared with two competitive prediction models: the first exploits the number of developers working on a code component in a given time period as predictor, while the second is based on the concept of code change entropy. The achieved results show the superiority of our model with respect to the two competitive approaches, and the complementarity of the defined scattering measures with respect to standard predictors commonly used in the literature.","PeriodicalId":413332,"journal":{"name":"2015 IEEE International Conference on Software Maintenance and Evolution (ICSME)","volume":"65 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-09-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115256505","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 15
How do developers react to API evolution? The Pharo ecosystem case 开发人员如何应对API的演变?Pharo生态系统案例
2015 IEEE International Conference on Software Maintenance and Evolution (ICSME) Pub Date : 2015-09-29 DOI: 10.1109/ICSM.2015.7332471
André C. Hora, R. Robbes, N. Anquetil, Anne Etien, Stéphane Ducasse, M. T. Valente
{"title":"How do developers react to API evolution? The Pharo ecosystem case","authors":"André C. Hora, R. Robbes, N. Anquetil, Anne Etien, Stéphane Ducasse, M. T. Valente","doi":"10.1109/ICSM.2015.7332471","DOIUrl":"https://doi.org/10.1109/ICSM.2015.7332471","url":null,"abstract":"Software engineering research now considers that no system is an island, but it is part of an ecosystem involving other systems, developers, users, hardware, ... When one system (e.g., a framework) evolves, its clients often need to adapt. Client developers might need to adapt to functionalities, client systems might need to be adapted to a new API, client users might need to adapt to a new User Interface. The consequences of such changes are yet unclear, what proportion of the ecosystem might be expected to react, how long might it take for a change to diffuse in the ecosystem, do all clients react in the same way? This paper reports on an exploratory study aimed at observing API evolution and its impact on a large-scale software ecosystem, Pharo, which has about 3,600 distinct systems, more than 2,800 contributors, and six years of evolution. We analyze 118 API changes and answer research questions regarding the magnitude, duration, extension, and consistency of such changes in the ecosystem. The results of this study help to characterize the impact of API evolution in large software ecosystems, and provide the basis to better understand how such impact can be alleviated.","PeriodicalId":413332,"journal":{"name":"2015 IEEE International Conference on Software Maintenance and Evolution (ICSME)","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-09-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114602126","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 66
When and why developers adopt and change software licenses 开发人员何时以及为何采用和更改软件许可证
2015 IEEE International Conference on Software Maintenance and Evolution (ICSME) Pub Date : 2015-09-29 DOI: 10.1109/ICSM.2015.7332449
Christopher Vendome, M. Vásquez, G. Bavota, M. D. Penta, D. Germán, D. Poshyvanyk
{"title":"When and why developers adopt and change software licenses","authors":"Christopher Vendome, M. Vásquez, G. Bavota, M. D. Penta, D. Germán, D. Poshyvanyk","doi":"10.1109/ICSM.2015.7332449","DOIUrl":"https://doi.org/10.1109/ICSM.2015.7332449","url":null,"abstract":"Software licenses legally govern the way in which developers can use, modify, and redistribute a particular system. While previous studies either investigated licensing through mining software repositories or studied licensing through FOSS reuse, we aim at understanding the rationale behind developers' decisions for choosing or changing software licensing by surveying open source developers. In this paper, we analyze when developers consider licensing, the reasons why developers pick a license for their project, and the factors that influence licensing changes. Additionally, we explore the licensing-related problems that developers experienced and expectations they have for licensing support from forges (e.g., GitHub). Our investigation involves, on one hand, the analysis of the commit history of 16,221 Java open source projects to identify the commits where licenses were added or changed. On the other hand, it consisted of a survey-in which 138 developers informed their involvement in licensing-related decisions and 52 provided deeper insights about the rationale behind the actions that they had undertaken. The results indicate that developers adopt licenses early in the project's development and change licensing after some period of development (if at all). We also found that developers have inherent biases with respect to software licensing. Additionally, reuse-whether by a non-contributor or for commercial purposes-is a dominant reason why developers change licenses of their systems. Finally, we discuss potential areas of research that could ameliorate the difficulties that software developers are facing with regard to licensing issues of their software systems.","PeriodicalId":413332,"journal":{"name":"2015 IEEE International Conference on Software Maintenance and Evolution (ICSME)","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-09-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115819289","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 34
Developers' perception of co-change patterns: An empirical study 开发者对共变模式的感知:一项实证研究
2015 IEEE International Conference on Software Maintenance and Evolution (ICSME) Pub Date : 2015-09-29 DOI: 10.1109/ICSM.2015.7332448
L. L. Silva, M. T. Valente, M. Maia, N. Anquetil
{"title":"Developers' perception of co-change patterns: An empirical study","authors":"L. L. Silva, M. T. Valente, M. Maia, N. Anquetil","doi":"10.1109/ICSM.2015.7332448","DOIUrl":"https://doi.org/10.1109/ICSM.2015.7332448","url":null,"abstract":"Co-change clusters are groups of classes that frequently change together. They are proposed as an alternative modular view, which can be used to assess the traditional decomposition of systems in packages. To investigate developer's perception of co-change clusters, we report in this paper a study with experts on six systems, implemented in two languages. We mine 102 co-change clusters from the version history of such systems, which are classified in three patterns regarding their projection to the package structure: Encapsulated, Crosscutting, and Octopus. We then collect the perception of expert developers on such clusters, aiming to ask two central questions: (a) what concerns and changes are captured by the extracted clusters? (b) do the extracted clusters reveal design anomalies? We conclude that Encapsulated Clusters are often viewed as healthy designs and that Crosscutting Clusters tend to be associated to design anomalies. Octopus Clusters are normally associated to expected class distributions, which are not easy to implement in an encapsulated way, according to the interviewed developers.","PeriodicalId":413332,"journal":{"name":"2015 IEEE International Conference on Software Maintenance and Evolution (ICSME)","volume":"82 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-09-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117257532","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 13
DUM-Tool DUM-Tool
2015 IEEE International Conference on Software Maintenance and Evolution (ICSME) Pub Date : 2015-09-29 DOI: 10.1109/ICSM.2015.7332484
Simone Romano, G. Scanniello
{"title":"DUM-Tool","authors":"Simone Romano, G. Scanniello","doi":"10.1109/ICSM.2015.7332484","DOIUrl":"https://doi.org/10.1109/ICSM.2015.7332484","url":null,"abstract":"With object-oriented programming languages (e.g., Java or C#), the identification of unreachable source code may be very complex especially when working at method level. To deal with the detection of unreachable methods, we have defined an approach named DUM: Detecting Unreachable Methods. We implemented a prototype of a supporting software we named DUM-Tool. It works on Java byte-code and detects unreachable methods by traversing a graph-based representation of a subject software.","PeriodicalId":413332,"journal":{"name":"2015 IEEE International Conference on Software Maintenance and Evolution (ICSME)","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-09-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129352241","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 11
PARC: Recommending API methods parameters PARC:推荐API方法参数
2015 IEEE International Conference on Software Maintenance and Evolution (ICSME) Pub Date : 2015-09-29 DOI: 10.1109/ICSM.2015.7332481
M. Asaduzzaman, C. Roy, Kevin A. Schneider
{"title":"PARC: Recommending API methods parameters","authors":"M. Asaduzzaman, C. Roy, Kevin A. Schneider","doi":"10.1109/ICSM.2015.7332481","DOIUrl":"https://doi.org/10.1109/ICSM.2015.7332481","url":null,"abstract":"APIs have grown considerably in size. To free developers from remembering every detail of an API, code completion has become an integral part of modern IDEs. Most work on code completion targets completing API method calls and leaves the task of completing method parameters to the developers. However, parameter completion is also a non-trivial task. We present an Eclipse plugin, called PARC, that supports automatic completion of API method parameters. The tool is based on the localness property of source code, which states that developers tend to put related code fragments close together. PARC combines contextual and static type analysis to support a wide range of parameter expression types.","PeriodicalId":413332,"journal":{"name":"2015 IEEE International Conference on Software Maintenance and Evolution (ICSME)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-09-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129659649","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 5
Reverse engineering a visual age application 逆向工程是一个可视化的应用程序
2015 IEEE International Conference on Software Maintenance and Evolution (ICSME) Pub Date : 2015-09-29 DOI: 10.1109/ICSM.2015.7332500
H. Sneed, C. Verhoef
{"title":"Reverse engineering a visual age application","authors":"H. Sneed, C. Verhoef","doi":"10.1109/ICSM.2015.7332500","DOIUrl":"https://doi.org/10.1109/ICSM.2015.7332500","url":null,"abstract":"This paper is an industrial case study of how a VisualAge application system on an IBM mainframe was reverse engineered into a system reference repository. The starting point was the code fragments generated by the VisualAge interactive development tool. The results of the reverse engineering process were a use case documentation, a module documentation and a system reference repository. In these documents, the names of the data and functions were extended to be more understandable. The process was in the end fully automated and took three months to implement. The resulting documentation is now being used as a basis for re-implementing the system in Java.","PeriodicalId":413332,"journal":{"name":"2015 IEEE International Conference on Software Maintenance and Evolution (ICSME)","volume":"27 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-09-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127473398","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 5
Deterministic dynamic race detection across program versions 跨程序版本的确定性动态竞争检测
2015 IEEE International Conference on Software Maintenance and Evolution (ICSME) Pub Date : 2015-09-29 DOI: 10.1109/ICSM.2015.7332464
Sri Varun Poluri, M. Ramanathan
{"title":"Deterministic dynamic race detection across program versions","authors":"Sri Varun Poluri, M. Ramanathan","doi":"10.1109/ICSM.2015.7332464","DOIUrl":"https://doi.org/10.1109/ICSM.2015.7332464","url":null,"abstract":"Dynamic race detectors operate by analyzing execution traces of programs to detect races in multithreaded programs. As the thread interleavings influence these traces, the sets of races detected across multiple runs of the detector can vary. This non-determinism without any change in program source and input can reduce programmer confidence in using the detector. From an organizational perspective, a defect needs to be reported consistently until it is fixed. Non-determinism complicates the work flow and the problem is further exacerbated with modifications to the program.","PeriodicalId":413332,"journal":{"name":"2015 IEEE International Conference on Software Maintenance and Evolution (ICSME)","volume":"69 5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-09-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129140129","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
Toward improving graftability on automated program repair 提高自动程序修复的可移植性
2015 IEEE International Conference on Software Maintenance and Evolution (ICSME) Pub Date : 2015-09-29 DOI: 10.1109/ICSM.2015.7332504
S. Sumi, Yoshiki Higo, Keisuke Hotta, S. Kusumoto
{"title":"Toward improving graftability on automated program repair","authors":"S. Sumi, Yoshiki Higo, Keisuke Hotta, S. Kusumoto","doi":"10.1109/ICSM.2015.7332504","DOIUrl":"https://doi.org/10.1109/ICSM.2015.7332504","url":null,"abstract":"In software evolution, many bugs occur and developers spend a long time to fix them. Program debugging is a costly and difficult task. Automated program repair is a promising way to reduce costs on program debugging dramatically. Several repair techniques reusing existing code lines have been proposed in the past. They reuse code lines already existing in the source code to generate variant source code of a given source code (if an inserted code line to fix a given bug is identical to any of the code lines in existing source code, we call the code line graftable). However, there are many bugs that such techniques cannot automatically repair. One of the reasons is that many bugs require code lines not existing in the source code of the software. In order to mitigate this issue, we are conducting our research with two ideas. The first idea is using a large dataset of source code to reuse code lines. The second idea is reusing only structures of code lines. Vocabularies are obtained from faulty code regions. In this paper, we report the feasibilities of the two ideas. More concretely, we found that the first and second ideas improved graftability of code lines to 43-59% and 56-64% from 34-54%, respectively. If we combine both the ideas, graftability was improved to 64-69%. In cases where we used the second idea, 24-49% variables used in reused code lines were able to be retrieved from the surrounding code of given faulty code regions.","PeriodicalId":413332,"journal":{"name":"2015 IEEE International Conference on Software Maintenance and Evolution (ICSME)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-09-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130903534","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 9
Towards a survival analysis of database framework usage in Java projects 面向Java项目中数据库框架使用的生存分析
2015 IEEE International Conference on Software Maintenance and Evolution (ICSME) Pub Date : 2015-09-29 DOI: 10.1109/ICSM.2015.7332512
M. Goeminne, T. Mens
{"title":"Towards a survival analysis of database framework usage in Java projects","authors":"M. Goeminne, T. Mens","doi":"10.1109/ICSM.2015.7332512","DOIUrl":"https://doi.org/10.1109/ICSM.2015.7332512","url":null,"abstract":"Many software projects rely on a relational database in order to realize part of their functionality. Various database frameworks and object-relational mappings have been developed and used to facilitate data manipulation. Little is known about whether and how such frameworks co-occur, how they complement or compete with each other, and how this changes over time. We empirically studied these aspects for 5 Java database frameworks, based on a corpus of 3,707 GitHub Java projects. In particular, we analysed whether certain database frameworks co-occur frequently, and whether some database frameworks get replaced over time by others. Using the statistical technique of survival analysis, we explored the survival of the database frameworks in the considered projects. This provides useful evidence to software developers about which frameworks can be used successfully in combination and which combinations should be avoided.","PeriodicalId":413332,"journal":{"name":"2015 IEEE International Conference on Software Maintenance and Evolution (ICSME)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-09-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129305413","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 26
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
相关产品
×
本文献相关产品
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信
小红书