首页 > 最新文献

2009 IEEE International Conference on Software Maintenance最新文献

英文 中文
Data transformation and attribute subset selection: Do they help make differences in software failure prediction? 数据转换和属性子集选择:它们在软件故障预测中有帮助吗?
Pub Date : 2009-10-30 DOI: 10.1109/ICSM.2009.5306382
Hao Jia, Fengdi Shu, Ye Yang, Qi Li
Data transformation and attribute subset selection have been adopted in improving software defect/failure prediction methods. However, little consensus was achieved on their effectiveness. This paper reports a comparative study on these two kinds of techniques combined with four classifier and datasets from two projects. The results indicate that data transformation displays unobvious influence on improving the performance, while attribute subset selection methods show distinguishably inconsistent output. Besides, consistency across releases and discrepancy between the open-source and in-house maintenance projects in the evaluation of these methods are discussed.
采用数据转换和属性子集选择方法改进软件缺陷/故障预测方法。然而,对其有效性几乎没有达成共识。本文结合四个分类器和两个项目的数据集,对这两种技术进行了比较研究。结果表明,数据转换对性能的提高影响不明显,而属性子集选择方法的输出不一致性明显。此外,还讨论了这些方法在评估中的一致性以及开源和内部维护项目之间的差异。
{"title":"Data transformation and attribute subset selection: Do they help make differences in software failure prediction?","authors":"Hao Jia, Fengdi Shu, Ye Yang, Qi Li","doi":"10.1109/ICSM.2009.5306382","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306382","url":null,"abstract":"Data transformation and attribute subset selection have been adopted in improving software defect/failure prediction methods. However, little consensus was achieved on their effectiveness. This paper reports a comparative study on these two kinds of techniques combined with four classifier and datasets from two projects. The results indicate that data transformation displays unobvious influence on improving the performance, while attribute subset selection methods show distinguishably inconsistent output. Besides, consistency across releases and discrepancy between the open-source and in-house maintenance projects in the evaluation of these methods are discussed.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"39 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122866664","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
Experimental assessment of manual versus tool-based maintenance of GUI-directed test scripts 手工与基于工具的gui导向测试脚本维护的实验评估
Pub Date : 2009-10-30 DOI: 10.1109/ICSM.2009.5306345
M. Grechanik, Qing Xie, Chen Fu
Since manual black-box testing of GUI-based APplications (GAPs) is tedious and laborious, test engineers create test scripts to automate the testing process. These test scripts interact with GAPs by performing actions on their GUI objects. As GAPs evolve, testers should fix their corresponding test scripts so that they can reuse them to test successive releases of GAPs. Currently, there are two main modes of maintaining test scripts: tool-based and manual. In practice, there is no consensus what approach testers should use to maintain test scripts. Test managers make their decisions ad hoc, based on their personal experience and perceived benefits of the tool-based approach versus the manual. In this paper we describe a case study with forty five professional programmers and test engineers to experimentally assess the tool-based approach for maintaining GUI-directed test scripts versus the manual approach. Based on the results of our case study and considering the high cost of the programmers' time and the lower cost of the time of test engineers, and considering that programmers often modify GAP objects in the process of developing software we recommend organizations to supply programmers with testing tools that enable them to fix test scripts faster so that these scripts can unit test software. The other side of our recommendation is that experienced test engineers are likely to be as productive with the manual approach as with the tool-based approach, and we consequently recommend that organizations do not need to provide each tester with an expensive tool license to fix test scripts.
由于基于gui的应用程序(gap)的手动黑盒测试是乏味和费力的,测试工程师创建测试脚本来自动化测试过程。这些测试脚本通过在GUI对象上执行操作与GAPs进行交互。随着GAPs的发展,测试人员应该修复他们相应的测试脚本,以便他们可以重用它们来测试GAPs的连续版本。目前,有两种主要的维护测试脚本的模式:基于工具的和手动的。在实践中,测试人员应该使用什么方法来维护测试脚本并没有达成一致。测试管理人员根据他们的个人经验和基于工具的方法相对于手册的可感知的好处,临时做出他们的决策。在本文中,我们描述了一个由45名专业程序员和测试工程师组成的案例研究,以实验性地评估维护gui导向测试脚本的基于工具的方法与手动方法的对比。基于我们案例研究的结果,考虑到程序员时间的高成本和测试工程师时间的低成本,并且考虑到程序员经常在开发软件的过程中修改GAP对象,我们建议组织为程序员提供测试工具,使他们能够更快地修复测试脚本,以便这些脚本可以对软件进行单元测试。我们建议的另一方面是,有经验的测试工程师使用手动方法可能和使用基于工具的方法一样富有成效,因此我们建议组织不需要为每个测试人员提供昂贵的工具许可来修复测试脚本。
{"title":"Experimental assessment of manual versus tool-based maintenance of GUI-directed test scripts","authors":"M. Grechanik, Qing Xie, Chen Fu","doi":"10.1109/ICSM.2009.5306345","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306345","url":null,"abstract":"Since manual black-box testing of GUI-based APplications (GAPs) is tedious and laborious, test engineers create test scripts to automate the testing process. These test scripts interact with GAPs by performing actions on their GUI objects. As GAPs evolve, testers should fix their corresponding test scripts so that they can reuse them to test successive releases of GAPs. Currently, there are two main modes of maintaining test scripts: tool-based and manual. In practice, there is no consensus what approach testers should use to maintain test scripts. Test managers make their decisions ad hoc, based on their personal experience and perceived benefits of the tool-based approach versus the manual. In this paper we describe a case study with forty five professional programmers and test engineers to experimentally assess the tool-based approach for maintaining GUI-directed test scripts versus the manual approach. Based on the results of our case study and considering the high cost of the programmers' time and the lower cost of the time of test engineers, and considering that programmers often modify GAP objects in the process of developing software we recommend organizations to supply programmers with testing tools that enable them to fix test scripts faster so that these scripts can unit test software. The other side of our recommendation is that experienced test engineers are likely to be as productive with the manual approach as with the tool-based approach, and we consequently recommend that organizations do not need to provide each tester with an expensive tool license to fix test scripts.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127136371","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}
引用次数: 36
Automated performance analysis of load tests 负载测试的自动性能分析
Pub Date : 2009-10-30 DOI: 10.1109/ICSM.2009.5306331
Z. Jiang, A. Hassan, Gilbert Hamann, P. Flora
The goal of a load test is to uncover functional and performance problems of a system under load. Performance problems refer to the situations where a system suffers from unexpectedly high response time or low throughput. It is difficult to detect performance problems in a load test due to the absence of formally-defined performance objectives and the large amount of data that must be examined. In this paper, we present an approach which automatically analyzes the execution logs of a load test for performance problems. We first derive the system's performance baseline from previous runs. Then we perform an in-depth performance comparison against the derived performance baseline. Case studies show that our approach produces few false alarms (with a precision of 77%) and scales well to large industrial systems.
负载测试的目标是发现负载下系统的功能和性能问题。性能问题是指系统遭受意外的高响应时间或低吞吐量的情况。由于缺乏正式定义的性能目标和必须检查的大量数据,在负载测试中很难检测到性能问题。本文提出了一种自动分析负载测试执行日志以找出性能问题的方法。我们首先从以前的运行中得出系统的性能基线。然后,我们对派生的性能基线进行深入的性能比较。案例研究表明,我们的方法产生的误报很少(精度为77%),并且可以很好地适用于大型工业系统。
{"title":"Automated performance analysis of load tests","authors":"Z. Jiang, A. Hassan, Gilbert Hamann, P. Flora","doi":"10.1109/ICSM.2009.5306331","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306331","url":null,"abstract":"The goal of a load test is to uncover functional and performance problems of a system under load. Performance problems refer to the situations where a system suffers from unexpectedly high response time or low throughput. It is difficult to detect performance problems in a load test due to the absence of formally-defined performance objectives and the large amount of data that must be examined. In this paper, we present an approach which automatically analyzes the execution logs of a load test for performance problems. We first derive the system's performance baseline from previous runs. Then we perform an in-depth performance comparison against the derived performance baseline. Case studies show that our approach produces few false alarms (with a precision of 77%) and scales well to large industrial systems.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"112 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134066007","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}
引用次数: 122
Linux kernels as complex networks: A novel method to study evolution 作为复杂网络的Linux内核:一种研究进化的新方法
Pub Date : 2009-10-30 DOI: 10.1109/ICSM.2009.5306348
Lei Wang, Zheng Wang, Chen-Yang Yang, Li Zhang, Qiang Ye
In recent years, many graphs have turned out to be complex networks. This paper presents a novel method to study Linux kernel evolution — using complex networks to understand how Linux kernel modules evolve over time. After studying the node degree distribution and average path length of the call graphs corresponding to the kernel modules of 223 different versions (V1.1.0 to V2.4.35), we found that the call graphs of the file system and drivers module are scale-free small-world complex networks. In addition, both of the file system and drivers module exhibit very strong preferential attachment tendency. Finally, we proposed a generic method that could be used to find major structural changes that occur during the evolution of software systems.
近年来,许多图都变成了复杂的网络。本文提出了一种研究Linux内核演化的新方法——利用复杂网络来理解Linux内核模块是如何随时间演化的。通过研究223个不同版本(V1.1.0 ~ V2.4.35)内核模块对应的调用图的节点度分布和平均路径长度,我们发现文件系统和驱动模块的调用图都是无标度的小世界复杂网络。此外,文件系统和驱动模块都表现出很强的优先依附倾向。最后,我们提出了一种通用的方法,可以用来发现软件系统发展过程中发生的主要结构变化。
{"title":"Linux kernels as complex networks: A novel method to study evolution","authors":"Lei Wang, Zheng Wang, Chen-Yang Yang, Li Zhang, Qiang Ye","doi":"10.1109/ICSM.2009.5306348","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306348","url":null,"abstract":"In recent years, many graphs have turned out to be complex networks. This paper presents a novel method to study Linux kernel evolution — using complex networks to understand how Linux kernel modules evolve over time. After studying the node degree distribution and average path length of the call graphs corresponding to the kernel modules of 223 different versions (V1.1.0 to V2.4.35), we found that the call graphs of the file system and drivers module are scale-free small-world complex networks. In addition, both of the file system and drivers module exhibit very strong preferential attachment tendency. Finally, we proposed a generic method that could be used to find major structural changes that occur during the evolution of software systems.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"37 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128142385","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}
引用次数: 33
Visualizing the structure of field testing problems 可视化现场测试问题的结构
Pub Date : 2009-10-30 DOI: 10.1109/ICSM.2009.5306297
Brian Chan, Ying Zou, A. Hassan, Anand Sinha
Field testing of a software application prior to general release is an important and essential quality assurance step. Field testing helps identify unforeseen problems. Extensive field testing leads to the reporting of a large number of problems which often overwhelm the allocated resources. Prior efforts focus primarily on studying the reported problems in isolation. We believe that a global view of the interdependencies between these problems will help in rapid understanding and resolution of reported problems. We present a visualization that highlights the commonalities between reported problems. The visualization helps developers identify two patterns that they can use to prioritize and focus their efforts. We demonstrate the applicability of our visualization through a case study on problems reported during field testing efforts for two releases of a large scale enterprise application.
在正式发布之前对软件应用程序进行现场测试是重要和必要的质量保证步骤。现场测试有助于识别无法预见的问题。广泛的现场测试会导致报告大量的问题,这些问题往往会使分配的资源不堪重负。先前的努力主要集中在孤立地研究报告的问题。我们认为,对这些问题之间相互依存关系的全局看法将有助于迅速理解和解决所报告的问题。我们展示了一个可视化,突出显示了所报告问题之间的共性。可视化可以帮助开发人员确定两种模式,他们可以使用这些模式来确定优先级并集中精力。我们通过对一个大型企业应用程序的两个版本的现场测试工作中报告的问题的案例研究来演示我们的可视化的适用性。
{"title":"Visualizing the structure of field testing problems","authors":"Brian Chan, Ying Zou, A. Hassan, Anand Sinha","doi":"10.1109/ICSM.2009.5306297","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306297","url":null,"abstract":"Field testing of a software application prior to general release is an important and essential quality assurance step. Field testing helps identify unforeseen problems. Extensive field testing leads to the reporting of a large number of problems which often overwhelm the allocated resources. Prior efforts focus primarily on studying the reported problems in isolation. We believe that a global view of the interdependencies between these problems will help in rapid understanding and resolution of reported problems. We present a visualization that highlights the commonalities between reported problems. The visualization helps developers identify two patterns that they can use to prioritize and focus their efforts. We demonstrate the applicability of our visualization through a case study on problems reported during field testing efforts for two releases of a large scale enterprise application.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125235755","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
Co-evolution of source code and the build system 源代码和构建系统的共同进化
Pub Date : 2009-10-30 DOI: 10.1109/ICSM.2009.5306272
Bram Adams
A build system breathes life into source code, as it configures and directs the construction of a software system from textual source code modules. Surprisingly, build languages and tools have not received considerable attention by academics and practitioners, making current build systems a mysterious and frustrating resource to work with. Our dissertation presents a conceptual framework with tool support to recover, analyze and refactor a build system. We demonstrate the applicability of our framework by analyzing the evolution of the Linux kernel build system and the introduction of AOSD technology in five legacy build systems. In all cases, we found that the build system is a complex software system of its own, trying to co-evolve in a synchronized way with the source code while working around shortcomings of the underlying build technology. Based on our findings, we hypothesize four conceptual reasons of co-evolution to guide future research in the area of build systems.
构建系统为源代码注入生命,因为它从文本源代码模块配置和指导软件系统的构建。令人惊讶的是,构建语言和工具并没有受到学者和实践者的足够关注,这使得当前的构建系统成为一种神秘而令人沮丧的资源。本文提出了一个概念框架,并提供工具支持来恢复、分析和重构构建系统。通过分析Linux内核构建系统的演变以及在五个遗留构建系统中引入AOSD技术,我们展示了框架的适用性。在所有情况下,我们发现构建系统本身就是一个复杂的软件系统,它试图以一种与源代码同步的方式共同进化,同时解决底层构建技术的缺点。基于我们的发现,我们假设了共同进化的四个概念性原因,以指导构建系统领域的未来研究。
{"title":"Co-evolution of source code and the build system","authors":"Bram Adams","doi":"10.1109/ICSM.2009.5306272","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306272","url":null,"abstract":"A build system breathes life into source code, as it configures and directs the construction of a software system from textual source code modules. Surprisingly, build languages and tools have not received considerable attention by academics and practitioners, making current build systems a mysterious and frustrating resource to work with. Our dissertation presents a conceptual framework with tool support to recover, analyze and refactor a build system. We demonstrate the applicability of our framework by analyzing the evolution of the Linux kernel build system and the introduction of AOSD technology in five legacy build systems. In all cases, we found that the build system is a complex software system of its own, trying to co-evolve in a synchronized way with the source code while working around shortcomings of the underlying build technology. Based on our findings, we hypothesize four conceptual reasons of co-evolution to guide future research in the area of build systems.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"73 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127233268","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}
引用次数: 19
Digging deep: Software reengineering supported by database reverse engineering of a system with 30+ years of legacy 深入挖掘:由具有30多年历史的系统的数据库逆向工程支持的软件再工程
Pub Date : 2009-10-30 DOI: 10.1109/ICSM.2009.5306293
S. Strobl, Mario Bernhart, T. Grechenig, W. Kleinert
This paper describes the industrial experience in performing database reverse engineering on a large scale software reengineering project. The project in question deals with a highly heterogeneous in-house information system (IS) that has grown and evolved in numerous steps over the past three decades. This IS consists of a large number of loosely coupled single purpose systems with a database driven COBOL application at the centre, which has been adopted and enhanced to expose some functionality over the web. The software reengineering effort that provides the context for this paper deals with unifying these components and completely migrating the IS to an up-to-date and homogeneous platform. A database reverse engineering (DRE) process was tailored to suit the project environment consisting of almost 350 tables and 5600 columns. It aims at providing the developers of the software reengineering project with the necessary information about the more than thirty year old legacy databases to successfully perform the data migration. The application of the DRE process resulted in the development of a high-level categorization of the data model, a wiki based redocumentation structure and the essential data-access statistics.
本文描述了在一个大型软件再工程项目中执行数据库逆向工程的行业经验。所讨论的项目涉及一个高度异构的内部信息系统(IS),该系统在过去三十年中经历了许多步骤的发展和演变。该系统由大量松散耦合的单一用途系统组成,以数据库驱动的COBOL应用程序为中心,该应用程序已被采用并增强,以便通过web公开某些功能。为本文提供上下文的软件再工程工作处理统一这些组件,并将IS完全迁移到最新的同构平台。数据库逆向工程(DRE)过程是为适应包含近350个表和5600列的项目环境而量身定制的。它旨在为软件再工程项目的开发人员提供有关30多年前遗留数据库的必要信息,以成功执行数据迁移。DRE流程的应用导致开发了数据模型的高级分类、基于wiki的重新文档结构和基本数据访问统计。
{"title":"Digging deep: Software reengineering supported by database reverse engineering of a system with 30+ years of legacy","authors":"S. Strobl, Mario Bernhart, T. Grechenig, W. Kleinert","doi":"10.1109/ICSM.2009.5306293","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306293","url":null,"abstract":"This paper describes the industrial experience in performing database reverse engineering on a large scale software reengineering project. The project in question deals with a highly heterogeneous in-house information system (IS) that has grown and evolved in numerous steps over the past three decades. This IS consists of a large number of loosely coupled single purpose systems with a database driven COBOL application at the centre, which has been adopted and enhanced to expose some functionality over the web. The software reengineering effort that provides the context for this paper deals with unifying these components and completely migrating the IS to an up-to-date and homogeneous platform. A database reverse engineering (DRE) process was tailored to suit the project environment consisting of almost 350 tables and 5600 columns. It aims at providing the developers of the software reengineering project with the necessary information about the more than thirty year old legacy databases to successfully perform the data migration. The application of the DRE process resulted in the development of a high-level categorization of the data model, a wiki based redocumentation structure and the essential data-access statistics.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126744626","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
Managing code clones using dynamic change tracking and resolution 使用动态变更跟踪和解析来管理代码克隆
Pub Date : 2009-10-30 DOI: 10.1109/ICSM.2009.5306336
M. D. Wit, A. Zaidman, A. Deursen
Code cloning is widely recognized as a threat to the maintainability of source code. As such, many clone detection and removal strategies have been proposed. However, some clones can often not be removed easily so other strategies, based on clone management need to be developed. In this paper we describe a clone management strategy based on dynamically inferring clone relations by monitoring clipboard activity. We introduce CloneBoard, our Eclipse plug-in implementation that is able to track live changes to clones and offers several resolution strategies for inconsistently modified clones. We perform a user study with seven subjects to assess the adequacy, usability and effectiveness of CloneBoard, the results of which show that developers actually see the added value of such a tool but have strict requirements with respect to its usability.
代码克隆被广泛认为是对源代码可维护性的威胁。因此,人们提出了许多克隆检测和去除策略。然而,一些克隆往往不能轻易删除,因此需要开发基于克隆管理的其他策略。本文描述了一种通过监控剪贴板活动动态推断克隆关系的克隆管理策略。我们介绍CloneBoard,这是我们的Eclipse插件实现,它能够跟踪克隆的实时更改,并为不一致修改的克隆提供几种解决策略。我们对七个主题进行了用户研究,以评估CloneBoard的充分性、可用性和有效性,结果表明开发人员实际上看到了这样一个工具的附加价值,但对其可用性有严格的要求。
{"title":"Managing code clones using dynamic change tracking and resolution","authors":"M. D. Wit, A. Zaidman, A. Deursen","doi":"10.1109/ICSM.2009.5306336","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306336","url":null,"abstract":"Code cloning is widely recognized as a threat to the maintainability of source code. As such, many clone detection and removal strategies have been proposed. However, some clones can often not be removed easily so other strategies, based on clone management need to be developed. In this paper we describe a clone management strategy based on dynamically inferring clone relations by monitoring clipboard activity. We introduce CloneBoard, our Eclipse plug-in implementation that is able to track live changes to clones and offers several resolution strategies for inconsistently modified clones. We perform a user study with seven subjects to assess the adequacy, usability and effectiveness of CloneBoard, the results of which show that developers actually see the added value of such a tool but have strict requirements with respect to its usability.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"324 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116300268","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}
引用次数: 70
On predicting the time taken to correct bug reports in open source projects 预测在开源项目中纠正错误报告所花费的时间
Pub Date : 2009-10-30 DOI: 10.1109/ICSM.2009.5306337
P. Anbalagan, M. Vouk
Existing studies on the maintenance of open source projects focus primarily on the analyses of the overall maintenance of the projects and less on specific categories like the corrective maintenance. This paper presents results from an empirical study of bug reports from an open source project, identifies user participation in the corrective maintenance process through bug reports, and constructs a model to predict the corrective maintenance effort for the project in terms of the time taken to correct faults. Our study focuses on 72482 bug reports from over nine releases of Ubuntu, a popular Linux distribution. We present three main results 1) 95% of the bug reports are corrected by people participating in groups of size ranging from 1 to 8 people, 2) there is a strong linear relationship (about 92%) between the the number of people participating in a bug report and the time taken to correct it, 3) a linear model can be used to predict the time taken to correct bug reports.
现有关于开源项目维护的研究主要集中在对项目整体维护的分析上,而对诸如纠正性维护等具体类别的研究较少。本文给出了对开源项目bug报告的实证研究结果,通过bug报告识别用户在纠错维护过程中的参与程度,并构建了一个模型,根据纠错所花费的时间来预测项目的纠错维护工作。我们的研究重点是来自9个Ubuntu版本(一个流行的Linux发行版)的72482个bug报告。我们给出了三个主要结果:1)95%的bug报告是由1到8个人组成的小组中参与的人来纠正的;2)参与bug报告的人数和纠正它所花费的时间之间存在很强的线性关系(约92%);3)一个线性模型可以用来预测纠正bug报告所花费的时间。
{"title":"On predicting the time taken to correct bug reports in open source projects","authors":"P. Anbalagan, M. Vouk","doi":"10.1109/ICSM.2009.5306337","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306337","url":null,"abstract":"Existing studies on the maintenance of open source projects focus primarily on the analyses of the overall maintenance of the projects and less on specific categories like the corrective maintenance. This paper presents results from an empirical study of bug reports from an open source project, identifies user participation in the corrective maintenance process through bug reports, and constructs a model to predict the corrective maintenance effort for the project in terms of the time taken to correct faults. Our study focuses on 72482 bug reports from over nine releases of Ubuntu, a popular Linux distribution. We present three main results 1) 95% of the bug reports are corrected by people participating in groups of size ranging from 1 to 8 people, 2) there is a strong linear relationship (about 92%) between the the number of people participating in a bug report and the time taken to correct it, 3) a linear model can be used to predict the time taken to correct bug reports.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114437088","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}
引用次数: 67
Augmenting static source views in IDEs with dynamic metrics 用动态指标在ide中增强静态源视图
Pub Date : 2009-10-30 DOI: 10.1109/ICSM.2009.5306302
David Röthlisberger, M. Harry, A. Villazón, Danilo Ansaloni, Walter Binder, Oscar Nierstrasz, Philippe Moret
Mainstream IDEs such as Eclipse support developers in managing software projects mainly by offering static views of the source code. Such a static perspective neglects any information about runtime behavior. However, object-oriented programs heavily rely on polymorphism and late-binding, which makes them difficult to understand just based on their static structure. Developers thus resort to debuggers or profilers to study the system's dynamics. However, the information provided by these tools is volatile and hence cannot be exploited to ease the navigation of the source space. In this paper we present an approach to augment the static source perspective with dynamic metrics such as precise runtime type information, or memory and object allocation statistics. Dynamic metrics can leverage the understanding for the behavior and structure of a system. We rely on dynamic data gathering based on aspects to analyze running Java systems. By solving concrete use cases we illustrate how dynamic metrics directly available in the IDE are useful. We also comprehensively report on the efficiency of our approach to gather dynamic metrics.
Eclipse等主流ide主要通过提供源代码的静态视图来支持开发人员管理软件项目。这样的静态透视图忽略了有关运行时行为的任何信息。然而,面向对象的程序严重依赖于多态性和后期绑定,这使得仅根据其静态结构很难理解它们。因此,开发人员求助于调试器或分析器来研究系统的动态。然而,这些工具提供的信息是不稳定的,因此不能用来简化源空间的导航。在本文中,我们提出了一种用动态度量(如精确的运行时类型信息或内存和对象分配统计)来增强静态源透视图的方法。动态度量可以利用对系统行为和结构的理解。我们依靠基于方面的动态数据收集来分析正在运行的Java系统。通过解决具体的用例,我们说明了IDE中直接可用的动态指标是如何有用的。我们还全面报告了我们收集动态指标的方法的效率。
{"title":"Augmenting static source views in IDEs with dynamic metrics","authors":"David Röthlisberger, M. Harry, A. Villazón, Danilo Ansaloni, Walter Binder, Oscar Nierstrasz, Philippe Moret","doi":"10.1109/ICSM.2009.5306302","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306302","url":null,"abstract":"Mainstream IDEs such as Eclipse support developers in managing software projects mainly by offering static views of the source code. Such a static perspective neglects any information about runtime behavior. However, object-oriented programs heavily rely on polymorphism and late-binding, which makes them difficult to understand just based on their static structure. Developers thus resort to debuggers or profilers to study the system's dynamics. However, the information provided by these tools is volatile and hence cannot be exploited to ease the navigation of the source space. In this paper we present an approach to augment the static source perspective with dynamic metrics such as precise runtime type information, or memory and object allocation statistics. Dynamic metrics can leverage the understanding for the behavior and structure of a system. We rely on dynamic data gathering based on aspects to analyze running Java systems. By solving concrete use cases we illustrate how dynamic metrics directly available in the IDE are useful. We also comprehensively report on the efficiency of our approach to gather dynamic metrics.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129905103","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}
引用次数: 41
期刊
2009 IEEE International Conference on Software Maintenance
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
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