2012 28th IEEE International Conference on Software Maintenance (ICSM)最新文献

筛选
英文 中文
An empirical analysis of the distribution of unit test smells and their impact on software maintenance 对单元测试气味的分布及其对软件维护的影响的实证分析
2012 28th IEEE International Conference on Software Maintenance (ICSM) Pub Date : 2012-09-23 DOI: 10.1109/ICSM.2012.6405253
G. Bavota, A. Qusef, R. Oliveto, A. D. Lucia, D. Binkley
{"title":"An empirical analysis of the distribution of unit test smells and their impact on software maintenance","authors":"G. Bavota, A. Qusef, R. Oliveto, A. D. Lucia, D. Binkley","doi":"10.1109/ICSM.2012.6405253","DOIUrl":"https://doi.org/10.1109/ICSM.2012.6405253","url":null,"abstract":"Unit testing represents a key activity in software development and maintenance. Test suites with high internal quality facilitate maintenance activities, such as code comprehension and regression testing. Several guidelines have been proposed to help developers write good test suites. Unfortunately, such rules are not always followed resulting in the presence of bad test code smells (or simply test smells). Test smells have been defined as poorly designed tests and their presence may negatively affect the maintainability of test suites and production code. Despite the many studies that address code smells in general, until now there has been no empirical evidence regarding test smells (i) distribution in software systems nor (ii) their impact on the maintainability of software systems. This paper fills this gap by presenting two empirical studies. The first study is an exploratory analysis of 18 software systems (two industrial and 16 open source) aimed at analyzing the distribution of test smells in source code. The second study, a controlled experiment involving twenty master students, is aimed at analyzing whether the presence of test smells affects the comprehension of source code during software maintenance. The results show that (i) test smells are widely spread throughout the software systems studied and (ii) most of the test smells have a strong negative impact on the comprehensibility of test suites and production code.","PeriodicalId":348790,"journal":{"name":"2012 28th IEEE International Conference on Software Maintenance (ICSM)","volume":"518 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-09-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123116965","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}
引用次数: 131
Things structural clones tell that simple clones don't 结构克隆告诉我们一些简单克隆不能告诉我们的事情
2012 28th IEEE International Conference on Software Maintenance (ICSM) Pub Date : 2012-09-23 DOI: 10.1109/ICSM.2012.6405283
H. Basit, Usman Ali, Sidra Haque, S. Jarzabek
{"title":"Things structural clones tell that simple clones don't","authors":"H. Basit, Usman Ali, Sidra Haque, S. Jarzabek","doi":"10.1109/ICSM.2012.6405283","DOIUrl":"https://doi.org/10.1109/ICSM.2012.6405283","url":null,"abstract":"In previous work, we described a technique for detecting design-level similar program structures (structural clones) formed from recurring configurations of similar code fragments (simple clones). In this paper, we analyze in detail how frequently these structural clones occur in software systems and how structural clone analysis extends the benefits of analysis based on simple clones only. Our case study of 11 open source systems revealed that over 50% of simple clones are captured by structural clones that often correspond to meaningful design or application domain concepts. Because of their larger size, it is easier for programmers to perceive the similarity situation in a system from structural clone perspective rather than from simple clone perspective only. We also discuss the contribution of structural clone detection towards program understanding, design recovery, maintenance, and refactoring using examples from the case study systems.","PeriodicalId":348790,"journal":{"name":"2012 28th IEEE International Conference on Software Maintenance (ICSM)","volume":"38 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-09-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114681834","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
Understanding deployment costs of enterprise systems: Towards architecture support in deployment decisions 了解企业系统的部署成本:对部署决策中的架构支持
2012 28th IEEE International Conference on Software Maintenance (ICSM) Pub Date : 2012-09-23 DOI: 10.1109/ICSM.2012.6405352
Balthasar Weitzel
{"title":"Understanding deployment costs of enterprise systems: Towards architecture support in deployment decisions","authors":"Balthasar Weitzel","doi":"10.1109/ICSM.2012.6405352","DOIUrl":"https://doi.org/10.1109/ICSM.2012.6405352","url":null,"abstract":"The operation of large scale information systems requires investment into hardware infrastructure and causes running cost for keeping it in a productive state. This especially applies in an enterprise environment where also expenses for software licenses costs or penalties for downtime occur. The deployment of software influences these costs both in their amount and their composition. In order to optimize them a transparent view on these costs and the deployment is mandatory. In this paper, we present an approach for making deployment explicit on an architectural level. A conceptual model of deployment is defined that can be populated by reverse engineering of deployment descriptors, runtime traces and usage profiles. We envision fostering a comprehensive decision making and optimization of software deployment.","PeriodicalId":348790,"journal":{"name":"2012 28th IEEE International Conference on Software Maintenance (ICSM)","volume":"01 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-09-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127201468","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
A software change impact analysis taxonomy 软件变更影响分析分类法
2012 28th IEEE International Conference on Software Maintenance (ICSM) Pub Date : 2012-09-23 DOI: 10.1109/ICSM.2012.6405338
Jerod W. Wilkerson
{"title":"A software change impact analysis taxonomy","authors":"Jerod W. Wilkerson","doi":"10.1109/ICSM.2012.6405338","DOIUrl":"https://doi.org/10.1109/ICSM.2012.6405338","url":null,"abstract":"Source code changes can have ripple-effects that result in unchanged source code elements producing different results than they would have produced before the changes. This paper proposes a taxonomy of the types of impacts that can result from source code changes in both procedural and object-oriented code. The taxonomy is extensible by creating additional sub-types of the types proposed. The proposed taxonomy is based on an analysis of existing change impact analysis algorithms and provides a basis for classifying change impact analysis algorithms by the types of impacts they identify.","PeriodicalId":348790,"journal":{"name":"2012 28th IEEE International Conference on Software Maintenance (ICSM)","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-09-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125815745","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}
引用次数: 10
Testing C++ generic libraries 测试c++泛型库
2012 28th IEEE International Conference on Software Maintenance (ICSM) Pub Date : 2012-09-23 DOI: 10.1109/ICSM.2012.6405251
A. Sutton, Marcin Zalewski
{"title":"Testing C++ generic libraries","authors":"A. Sutton, Marcin Zalewski","doi":"10.1109/ICSM.2012.6405251","DOIUrl":"https://doi.org/10.1109/ICSM.2012.6405251","url":null,"abstract":"We describe a novel methodology for systematic and rigorous testing of C++ generic libraries: separate testing. The approach is based on separate testing of generic (template) algorithms and data structures and of user-defined types that will be used with the library. Templates are tested against specifications using representative types called prototypes that contain metadata which is used to query otherwise unobservable properties of the input types and values. User-defined types are tested against the concepts required by the generic components of the library. Testing separately minimizes the required effort while fully exercising all components involved. The methodology is supported by the Origin Testing library, which is, in turn, being used to test the remainder of the Origin C++ 11 libraries.","PeriodicalId":348790,"journal":{"name":"2012 28th IEEE International Conference on Software Maintenance (ICSM)","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-09-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126960073","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}
引用次数: 1
Incremental reengineering and migration of a 40 year old airport operations system 一个已有40年历史的机场运作系统的渐进再造和迁移
2012 28th IEEE International Conference on Software Maintenance (ICSM) Pub Date : 2012-09-23 DOI: 10.1109/ICSM.2012.6405313
Mario Bernhart, Andreas Mauczka, Michael Fiedler, S. Strobl, T. Grechenig
{"title":"Incremental reengineering and migration of a 40 year old airport operations system","authors":"Mario Bernhart, Andreas Mauczka, Michael Fiedler, S. Strobl, T. Grechenig","doi":"10.1109/ICSM.2012.6405313","DOIUrl":"https://doi.org/10.1109/ICSM.2012.6405313","url":null,"abstract":"This report describes the challenges and experiences with the incremental re-engineering and migration of a 40 year old airport operations system. The undocumented COBOL legacy system has to be replaced within given constraints such as limited downtime. A 3-step technical strategy is derived and successfully applied to the re-engineering task in this project. The incremental approach and resulting parallel operations of both systems are the most significant technical drivers for complexity in this environment. Furthermore, this report describes the process for planning, analyzing and designing a replacement system that is backed by strong user acceptance. The user interface design task of taking the system from VT100 to a web interface was a critical success factor, as well as live testing with actual production data and actual user interactions. Other aspects such as training and end user documentation are discussed.","PeriodicalId":348790,"journal":{"name":"2012 28th IEEE International Conference on Software Maintenance (ICSM)","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-09-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115539657","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}
引用次数: 8
An industrial case study of Coman's automated task detection algorithm: What Worked, What Didn't, and Why 科曼的自动任务检测算法的工业案例研究:什么有效,什么无效,以及为什么
2012 28th IEEE International Conference on Software Maintenance (ICSM) Pub Date : 2012-09-23 DOI: 10.1109/ICSM.2012.6405247
Lijie Zou, Michael W. Godfrey
{"title":"An industrial case study of Coman's automated task detection algorithm: What Worked, What Didn't, and Why","authors":"Lijie Zou, Michael W. Godfrey","doi":"10.1109/ICSM.2012.6405247","DOIUrl":"https://doi.org/10.1109/ICSM.2012.6405247","url":null,"abstract":"Programmers need explicit tool support for software maintenance tasks, and a prerequisite for this is an understanding of where the boundaries between distinct tasks lie. Asking developers to indicate manually when they switch tasks is disruptive to their normal work flow, so researchers have sought ways to infer task boundaries automatically based on the content of the interaction histories with the IDE. Coman previously reported a fully automated algorithm that achieved 80% accuracy in a lab validation study. In this paper, we evaluate the use of this algorithm within an industrial setting. We found two problems: first, a large number of the tasks identified are in fact only sessions or subparts of a larger task; second, the demonstrable effects of interruptions are not considered. We argue that the problem of task boundary detection consists of two sub-problems: first, detecting task sessions; and second, linking task sessions. Coman's algorithm only partially addresses the first, and ignores the second.","PeriodicalId":348790,"journal":{"name":"2012 28th IEEE International Conference on Software Maintenance (ICSM)","volume":"150 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-09-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122467133","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
Who's who in Gnome: Using LSA to merge software repository identities Gnome中的谁是谁:使用LSA合并软件存储库身份
2012 28th IEEE International Conference on Software Maintenance (ICSM) Pub Date : 2012-09-23 DOI: 10.1109/ICSM.2012.6405329
Erik Kouters, Bogdan Vasilescu, Alexander Serebrenik, M. Brand
{"title":"Who's who in Gnome: Using LSA to merge software repository identities","authors":"Erik Kouters, Bogdan Vasilescu, Alexander Serebrenik, M. Brand","doi":"10.1109/ICSM.2012.6405329","DOIUrl":"https://doi.org/10.1109/ICSM.2012.6405329","url":null,"abstract":"Understanding an individual's contribution to an ecosystem often necessitates integrating information from multiple repositories corresponding to different projects within the ecosystem or different kinds of repositories (e.g., mail archives and version control systems). However, recognising that different contributions belong to the same contributor is challenging, since developers may use different aliases. It is known that existing identity merging algorithms are sensitive to large discrepancies between the aliases used by the same individual: the noisier the data, the worse their performance. To assess the scale of the problem for a large software ecosystem, we study all Gnome Git repositories, classify the differences in aliases, and discuss robustness of existing algorithms with respect to these types of differences. We then propose a new identity merging algorithm based on Latent Semantic Analysis (LSA), designed to be robust against more types of differences in aliases, and evaluate it empirically by means of cross-validation on Gnome Git authors. Our results show a clear improvement over existing algorithms in terms of precision and recall on worst-case input data.","PeriodicalId":348790,"journal":{"name":"2012 28th IEEE International Conference on Software Maintenance (ICSM)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-09-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129811959","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}
引用次数: 73
The demacrofier 的demacrofier
2012 28th IEEE International Conference on Software Maintenance (ICSM) Pub Date : 2012-09-23 DOI: 10.1109/ICSM.2012.6405347
Aditya Kumar, A. Sutton, B. Stroustrup
{"title":"The demacrofier","authors":"Aditya Kumar, A. Sutton, B. Stroustrup","doi":"10.1109/ICSM.2012.6405347","DOIUrl":"https://doi.org/10.1109/ICSM.2012.6405347","url":null,"abstract":"C++ programs can be rejuvenated by replacing error-prone usage of the C Preprocessor macros with type safe C++11 declarations. We have developed a classification of macros that directly maps to corresponding C++11 expressions, statements, and declarations. We have built a set of tools that replaces macros with equivalent C++ declarations and iteratively introduces the refactorings into the software build.","PeriodicalId":348790,"journal":{"name":"2012 28th IEEE International Conference on Software Maintenance (ICSM)","volume":"103 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-09-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121401394","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
From off-Line to continuous on-line maintenance 从离线到连续在线维护
2012 28th IEEE International Conference on Software Maintenance (ICSM) Pub Date : 2012-09-23 DOI: 10.1109/ICSM.2012.6405244
M. Pezzè
{"title":"From off-Line to continuous on-line maintenance","authors":"M. Pezzè","doi":"10.1109/ICSM.2012.6405244","DOIUrl":"https://doi.org/10.1109/ICSM.2012.6405244","url":null,"abstract":"Summary form only given. Software is the cornerstone of the modern society. Many human activities rely on software systems that shall operate seamlessly 24/7, and failures in such systems may cause severe problems and considerable economic loss. To efficiently address a growing variety of increasingly complex activities, software systems rely on sophisticated technologies. Most software systems are assembled from modules and subsystems that are often developed by third party organization, and sometime are not even available at the system build time. This is the case for example of many Web applications that link Web services built and changed independently by third party organizations while the Web applications are running. The progresses of software engineering in the last decades have increased the productivity, reduced the costs and improved the reliability of software products, but have not eliminated the occurrence of field failures. Detecting and removing all faults before deployment is practically too expensive even for systems that are simple and fully available at design time, and impossible when systems are large and complex, and are dynamically linked to modules that may be developed and distributed only after the deployment of the system. The classic stop-and-go maintenance approaches that locate and fix field faults offline before deploying new system versions are important, but not sufficient to guarantee a seamless 24/7 behavior, because the faulty systems remain in operation until the faults have been removed and new systems redeployed [1]. On the other hand, classic fault tolerant approaches that constrain developers' freedom and rely on expensive mechanisms to avoid or mask faults do not match the cost requirements of many modern systems, and do not extend beyond the set of safety critical systems [2]. Self-healing systems and autonomic computing tackle these new challenges by moving activities from design to runtime. In self-healing systems, the borderline between design and runtime activities fades, and both design and maintenance activities must change to enable activities such as fault diagnoses and fixes to be performed fully automatically and at runtime. Maintenance activities rely on information that are usually available at design time are are not part of the system runtime infrastructure. For example, corrective maintenance requires some knowledge about the expected system behavior to locate and fix the faults, while adaptive and perfective maintenance requires some knowledge about libraries and components to identify new modules that better cope with the the changes in the requirements and in the environment. In classic maintenance approaches, this knowledge is mastered by the developers, who gather and use the required information offline to deal with the emerging maintenance problems. In self healing systems the knowledge required for maintenance activities shall be available at runtime. Self healing systems shall be","PeriodicalId":348790,"journal":{"name":"2012 28th IEEE International Conference on Software Maintenance (ICSM)","volume":"43 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-09-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116298709","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}
引用次数: 1
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学术官方微信
小红书