首页 > 最新文献

2009 IEEE International Conference on Software Maintenance最新文献

英文 中文
The role of the coverage analysis during IR-based traceability recovery: A controlled experiment 覆盖分析在基于ir的可追溯性恢复中的作用:一个受控实验
Pub Date : 2009-10-30 DOI: 10.1109/ICSM.2009.5306317
A. D. Lucia, R. Oliveto, G. Tortora
This paper presents a two-steps process aiming at improving the tracing performances of the software engineer when using an IR-based traceability recovery tool. In the first step the software engineer performs an incremental coarse-grained traceability recovery between a set of source artefacts and a set of target artefacts. During this step he/she traces as many links as possible keeping low the effort to discard false positives. In the second step he/she uses a coverage link analysis aiming at identifying source artefacts poorly traced and guiding focused fine-grained traceability recovery sessions to recover links missed in the first step. The results achieved in a reported controlled experiment demonstrate that the proposed approach significantly increases the amount of correct links traced by the software engineer with respect to a tradition process.
本文提出了一个两步过程,旨在提高软件工程师在使用基于ir的可追溯性恢复工具时的跟踪性能。在第一步中,软件工程师在一组源工件和一组目标工件之间执行增量的粗粒度可跟踪性恢复。在这一步骤中,他/她追踪尽可能多的链接,尽量避免误报。在第二步中,他/她使用覆盖链接分析,旨在识别跟踪不良的源工件,并指导集中的细粒度可跟踪性恢复会话,以恢复第一步中遗漏的链接。在一个受控实验中取得的结果表明,与传统过程相比,所提出的方法显着增加了软件工程师跟踪的正确链接的数量。
{"title":"The role of the coverage analysis during IR-based traceability recovery: A controlled experiment","authors":"A. D. Lucia, R. Oliveto, G. Tortora","doi":"10.1109/ICSM.2009.5306317","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306317","url":null,"abstract":"This paper presents a two-steps process aiming at improving the tracing performances of the software engineer when using an IR-based traceability recovery tool. In the first step the software engineer performs an incremental coarse-grained traceability recovery between a set of source artefacts and a set of target artefacts. During this step he/she traces as many links as possible keeping low the effort to discard false positives. In the second step he/she uses a coverage link analysis aiming at identifying source artefacts poorly traced and guiding focused fine-grained traceability recovery sessions to recover links missed in the first step. The results achieved in a reported controlled experiment demonstrate that the proposed approach significantly increases the amount of correct links traced by the software engineer with respect to a tradition process.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"142 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":"114722118","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}
引用次数: 14
Proactively managing copy-and-paste induced code clones 主动管理复制-粘贴引起的代码克隆
Pub Date : 2009-10-30 DOI: 10.1109/ICSM.2009.5306284
Daqing Hou, Ferosh Jacob, P. Jablonski
Programmers copy and paste code. As a result, similar code fragments (clones) are added into software systems. Like other software artifacts, clones require attention and effort from programmers so that they can be found, understood, and correctly adapted and evolved. In addition to what clone-detection-based tools can offer, other automated support can be developed to better assist programmers in these activities, for example, to compare and contrast code clones, or help edit (a group of) clones consistently and quickly. We describe several such features currently being developed in the CnP project on top of Eclipse and for Java.
程序员复制和粘贴代码。结果,类似的代码片段(克隆)被添加到软件系统中。与其他软件工件一样,克隆需要程序员的关注和努力,以便能够发现、理解并正确地适应和发展它们。除了基于克隆检测的工具可以提供的之外,还可以开发其他自动化支持来更好地帮助程序员进行这些活动,例如,比较和对比代码克隆,或者帮助一致且快速地编辑(一组)克隆。我们描述了目前在Eclipse和Java之上的CnP项目中正在开发的几个这样的特性。
{"title":"Proactively managing copy-and-paste induced code clones","authors":"Daqing Hou, Ferosh Jacob, P. Jablonski","doi":"10.1109/ICSM.2009.5306284","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306284","url":null,"abstract":"Programmers copy and paste code. As a result, similar code fragments (clones) are added into software systems. Like other software artifacts, clones require attention and effort from programmers so that they can be found, understood, and correctly adapted and evolved. In addition to what clone-detection-based tools can offer, other automated support can be developed to better assist programmers in these activities, for example, to compare and contrast code clones, or help edit (a group of) clones consistently and quickly. We describe several such features currently being developed in the CnP project on top of Eclipse and for Java.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"47 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":"126139397","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}
引用次数: 3
A theoretical and empirical study of EFSM dependence EFSM依赖的理论与实证研究
Pub Date : 2009-10-30 DOI: 10.1109/ICSM.2009.5306309
K. Androutsopoulos, N. Gold, M. Harman, Zheng Li, L. Tratt
Dependence analysis underpins many activities in software maintenance such as comprehension and impact analysis. As a result, dependence has been studied widely for programming languages, notably through work on program slicing. However, there is comparatively little work on dependence analysis at the model level and hitherto, no empirical studies. We introduce a slicing tool for Extended Finite State Machines (EFSMs) and use the tool to gather empirical results on several forms of dependence found in ten EFSMs, including well-known benchmarks in addition to real-world EFSM models. We investigate the statistical properties of dependence using statistical tests for correlation and formalize and prove four of the empirical findings arising from our empirical study. The paper thus provides the maintainer with both empirical data and foundational theoretical results concerning dependence in EFSM models.
依赖性分析支持软件维护中的许多活动,例如理解和影响分析。因此,对编程语言的依赖性进行了广泛的研究,特别是通过对程序切片的研究。然而,在模型层面的相关性分析工作相对较少,迄今尚无实证研究。我们介绍了一个用于扩展有限状态机(EFSM)的切片工具,并使用该工具收集了在十个EFSM中发现的几种形式的依赖性的经验结果,除了真实的EFSM模型之外,还包括知名的基准测试。我们使用相关的统计检验来研究依赖的统计性质,并形式化并证明了我们实证研究中产生的四个实证发现。因此,本文为维护人员提供了关于EFSM模型中依赖关系的经验数据和基础理论结果。
{"title":"A theoretical and empirical study of EFSM dependence","authors":"K. Androutsopoulos, N. Gold, M. Harman, Zheng Li, L. Tratt","doi":"10.1109/ICSM.2009.5306309","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306309","url":null,"abstract":"Dependence analysis underpins many activities in software maintenance such as comprehension and impact analysis. As a result, dependence has been studied widely for programming languages, notably through work on program slicing. However, there is comparatively little work on dependence analysis at the model level and hitherto, no empirical studies. We introduce a slicing tool for Extended Finite State Machines (EFSMs) and use the tool to gather empirical results on several forms of dependence found in ten EFSMs, including well-known benchmarks in addition to real-world EFSM models. We investigate the statistical properties of dependence using statistical tests for correlation and formalize and prove four of the empirical findings arising from our empirical study. The paper thus provides the maintainer with both empirical data and foundational theoretical results concerning dependence in EFSM models.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"7 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":"128567269","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}
引用次数: 30
A statistical examination of the evolution and properties of libre software 自由软件的演化和特性的统计检验
Pub Date : 2009-10-30 DOI: 10.1109/ICSM.2009.5306299
I. Herraiz
How and why does software evolve? This question has been under study since almost 40 years ago, and it is still a subject of controversy. In the seventies, Meir M. Lehman formulated the laws of software evolution, a first attempt to characterize the dynamics of the evolution of software. With the raise of the libre (free / open source) software development phenomenon, some cases that do not fulfill those laws have appeared. Are Lehman's laws valid in the case of libre software development? Is it possible to design an universal theory for software evolution? And if it is, how? This thesis is a large-scale empirical and statistical approach to analyze the properties and evolution of libre software, using publicly available data sources, hence enabling repeatability of the results and third parties verification, fundamental aspects of any empirical study. The main results are that a small subset of basic size metrics are enough to characterize a software system, software systems are self-similar, and software evolution is a short range correlated (short memory) process.
软件是如何以及为什么进化的?这个问题从近40年前就开始研究了,至今仍是一个有争议的话题。在七十年代,Meir M. Lehman阐述了软件进化的定律,这是第一次尝试描述软件进化的动力学。随着libre(自由/开源)软件开发现象的兴起,出现了一些不符合这些法律的情况。雷曼定律在自由软件开发中有效吗?有可能为软件进化设计一个通用的理论吗?如果是,那是怎么回事?本文采用大规模的实证和统计方法来分析自由软件的特性和演变,使用公开可用的数据源,从而实现结果的可重复性和第三方验证,这是任何实证研究的基本方面。主要的结果是,基本尺寸度量的一个小子集就足以描述一个软件系统,软件系统是自相似的,软件进化是一个短范围相关(短记忆)过程。
{"title":"A statistical examination of the evolution and properties of libre software","authors":"I. Herraiz","doi":"10.1109/ICSM.2009.5306299","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306299","url":null,"abstract":"How and why does software evolve? This question has been under study since almost 40 years ago, and it is still a subject of controversy. In the seventies, Meir M. Lehman formulated the laws of software evolution, a first attempt to characterize the dynamics of the evolution of software. With the raise of the libre (free / open source) software development phenomenon, some cases that do not fulfill those laws have appeared. Are Lehman's laws valid in the case of libre software development? Is it possible to design an universal theory for software evolution? And if it is, how? This thesis is a large-scale empirical and statistical approach to analyze the properties and evolution of libre software, using publicly available data sources, hence enabling repeatability of the results and third parties verification, fundamental aspects of any empirical study. The main results are that a small subset of basic size metrics are enough to characterize a software system, software systems are self-similar, and software evolution is a short range correlated (short memory) process.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"148 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":"132195334","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}
引用次数: 38
Modularizing error recovery 模块化错误恢复
Pub Date : 2009-10-30 DOI: 10.1109/ICSM.2009.5306328
Jeeva Paudel, Christopher Dutchyn
Error recovery in compilers often involves significant amounts of cognitive effort to identify the code and execution points in the compiler that are related to identifying and handling input-program errors. This is because current implementations fail to explicitly identify error-related control dependencies, and to separately characterize the actions to take when programming errors are detected. As a result, compiler writers need to navigate and understand much of the compiler source in order to replace or extend error recovery actions. In the context of AspectJ compiler (ajc), this paper encapsulates error concerns as aspects yielding improved modularity through: pointcuts that explicitly declare the loci of error detection, and advice that expose the extension points for error handling.
编译器中的错误恢复通常涉及大量的认知工作,以识别编译器中与识别和处理输入程序错误相关的代码和执行点。这是因为当前的实现不能显式地识别与错误相关的控制依赖,也不能单独描述在检测到编程错误时要采取的操作。因此,编译器编纂者需要浏览和理解编译器源代码的大部分内容,以便替换或扩展错误恢复操作。在AspectJ编译器(ajc)的上下文中,本文将错误关注点封装为方面,通过以下方式获得改进的模块化:显式声明错误检测路径的切入点,以及公开用于错误处理的扩展点的通知。
{"title":"Modularizing error recovery","authors":"Jeeva Paudel, Christopher Dutchyn","doi":"10.1109/ICSM.2009.5306328","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306328","url":null,"abstract":"Error recovery in compilers often involves significant amounts of cognitive effort to identify the code and execution points in the compiler that are related to identifying and handling input-program errors. This is because current implementations fail to explicitly identify error-related control dependencies, and to separately characterize the actions to take when programming errors are detected. As a result, compiler writers need to navigate and understand much of the compiler source in order to replace or extend error recovery actions. In the context of AspectJ compiler (ajc), this paper encapsulates error concerns as aspects yielding improved modularity through: pointcuts that explicitly declare the loci of error detection, and advice that expose the extension points for error handling.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"29 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":"125571178","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}
引用次数: 0
Experimenting a reverse engineering technique for modelling the behaviour of rich internet applications 试验一种逆向工程技术,用于对富互联网应用程序的行为建模
Pub Date : 2009-10-30 DOI: 10.1109/ICSM.2009.5306391
Domenico Amalfitano, A. R. Fasolino, Porfirio Tramontana
While the rapid and growing diffusion of Rich Internet Applications (RIAs) with their enhanced interactive, responsive and dynamic behaviour is sharpening the distance between Web applications and desktop applications, at the same time, the maintenance community is experiencing the need for effective analysis approaches for understanding and modelling this behaviour adequately. This paper presents a reverse engineering technique based on dynamic analysis and supported by a tool that reconstructs a model of the RIA behaviour based on Finite State Machines. The technique is based on the analysis of the RIA user interface evolution shown in user sessions, and exploits user interface equivalence criteria for abstracting relevant states and state transitions to be included in the model. For assessing the effectiveness and the cost of this technique, an experiment involving four distinct RIAs implemented with AJAX technique was carried out.
随着富Internet应用程序(ria)的快速和不断增长的扩散,以及它们增强的交互式、响应性和动态行为,拉大了Web应用程序和桌面应用程序之间的距离,与此同时,维护社区正在经历对有效分析方法的需求,以便充分理解和建模这种行为。本文提出了一种基于动态分析的逆向工程技术,该技术由一个基于有限状态机重构RIA行为模型的工具支持。该技术基于对用户会话中显示的RIA用户界面演变的分析,并利用用户界面等价标准来抽象要包含在模型中的相关状态和状态转换。为了评估这种技术的有效性和成本,我们进行了一项涉及使用AJAX技术实现的四个不同ria的实验。
{"title":"Experimenting a reverse engineering technique for modelling the behaviour of rich internet applications","authors":"Domenico Amalfitano, A. R. Fasolino, Porfirio Tramontana","doi":"10.1109/ICSM.2009.5306391","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306391","url":null,"abstract":"While the rapid and growing diffusion of Rich Internet Applications (RIAs) with their enhanced interactive, responsive and dynamic behaviour is sharpening the distance between Web applications and desktop applications, at the same time, the maintenance community is experiencing the need for effective analysis approaches for understanding and modelling this behaviour adequately. This paper presents a reverse engineering technique based on dynamic analysis and supported by a tool that reconstructs a model of the RIA behaviour based on Finite State Machines. The technique is based on the analysis of the RIA user interface evolution shown in user sessions, and exploits user interface equivalence criteria for abstracting relevant states and state transitions to be included in the model. For assessing the effectiveness and the cost of this technique, an experiment involving four distinct RIAs implemented with AJAX technique was carried out.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"6 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":"121409786","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}
引用次数: 24
UI traces: Supporting the maintenance of interactive software UI跟踪:支持交互软件的维护
Pub Date : 2009-10-30 DOI: 10.1109/ICSM.2009.5306389
Andrew Sutherland, Kevin A. Schneider
We propose a method to support the maintenance of interactive software systems with user interface traces, that involves: (1) collecting execution traces of an interactive system, (2) segmenting execution traces into user interface traces according to user interface activity, and (3) mapping the user interface activity to the implementation activity. To support our approach, we developed a tool that uses aspect-oriented programming and load-time weaving to collect user interface traces from an interactive system. The tool allows us to browse the user interface traces and view user interface related data such as: user input, display updates, and thread activity. Using our tool, we demonstrate how developers can orient themselves and identify the slice of code relevant to performing common software maintenance tasks.
我们提出了一种方法来支持维护具有用户界面跟踪的交互式软件系统,该方法包括:(1)收集交互式系统的执行跟踪,(2)根据用户界面活动将执行跟踪分割为用户界面跟踪,以及(3)将用户界面活动映射为实现活动。为了支持我们的方法,我们开发了一个工具,它使用面向方面的编程和加载时编织来从交互式系统收集用户界面跟踪。该工具允许我们浏览用户界面跟踪并查看用户界面相关数据,例如:用户输入、显示更新和线程活动。使用我们的工具,我们演示了开发人员如何定位自己并识别与执行常见软件维护任务相关的代码片段。
{"title":"UI traces: Supporting the maintenance of interactive software","authors":"Andrew Sutherland, Kevin A. Schneider","doi":"10.1109/ICSM.2009.5306389","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306389","url":null,"abstract":"We propose a method to support the maintenance of interactive software systems with user interface traces, that involves: (1) collecting execution traces of an interactive system, (2) segmenting execution traces into user interface traces according to user interface activity, and (3) mapping the user interface activity to the implementation activity. To support our approach, we developed a tool that uses aspect-oriented programming and load-time weaving to collect user interface traces from an interactive system. The tool allows us to browse the user interface traces and view user interface related data such as: user input, display updates, and thread activity. Using our tool, we demonstrate how developers can orient themselves and identify the slice of code relevant to performing common software maintenance tasks.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"18 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":"126468318","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
Recovering design rationale from email repositories 从电子邮件存储库中恢复设计原理
Pub Date : 2009-10-30 DOI: 10.1109/ICSM.2009.5306388
A. D. Lucia, F. Fasano, Claudia Grieco, G. Tortora
Rationale is the justification behind decisions taken during the software development process. The usefulness of rationale pervades the entire software lifecycle. However, it is during maintenance that the benefits of rationale management are most evident, as it provides an insight into the motivations and the reasoning behind decisions taken during the original design and implementation. One of the strongest limitation to the capturing of rationale information during development concerns its time-consuming and disruptive nature that cause many organizations to consider rationale management costs excessive. A possible solution is to extract and capture rationale information when it is needed. This can be done by analyzing documents shared or exchanged among software engineers during the development process. In this paper, we propose to supports the software engineer during the rationale capturing by automatically identifying candidate rationale information extracted from email repositories. Besides this, we also support the designer during the rationale retrieval by identifying possible rational information within a document repository starting from a query represented by a source document.
基本原理是在软件开发过程中所做决策背后的理由。基本原理的有用性贯穿于整个软件生命周期。然而,正是在维护期间,基本原理管理的好处是最明显的,因为它提供了对原始设计和实现期间所做决策背后的动机和推理的洞察。在开发过程中获取基本原理信息的最大限制之一是它的耗时和破坏性,导致许多组织认为基本原理管理成本过高。一个可能的解决方案是在需要时提取和捕获基本原理信息。这可以通过分析软件工程师在开发过程中共享或交换的文档来完成。在本文中,我们建议通过自动识别从电子邮件存储库中提取的候选基本原理信息来支持软件工程师在基本原理捕获期间。除此之外,我们还通过从源文档表示的查询开始识别文档存储库中可能的合理信息,在基本原理检索期间支持设计人员。
{"title":"Recovering design rationale from email repositories","authors":"A. D. Lucia, F. Fasano, Claudia Grieco, G. Tortora","doi":"10.1109/ICSM.2009.5306388","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306388","url":null,"abstract":"Rationale is the justification behind decisions taken during the software development process. The usefulness of rationale pervades the entire software lifecycle. However, it is during maintenance that the benefits of rationale management are most evident, as it provides an insight into the motivations and the reasoning behind decisions taken during the original design and implementation. One of the strongest limitation to the capturing of rationale information during development concerns its time-consuming and disruptive nature that cause many organizations to consider rationale management costs excessive. A possible solution is to extract and capture rationale information when it is needed. This can be done by analyzing documents shared or exchanged among software engineers during the development process. In this paper, we propose to supports the software engineer during the rationale capturing by automatically identifying candidate rationale information extracted from email repositories. Besides this, we also support the designer during the rationale retrieval by identifying possible rational information within a document repository starting from a query represented by a source document.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"26 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":"114091848","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
Changes and bugs — Mining and predicting development activities 变更和错误——挖掘和预测开发活动
Pub Date : 2009-10-30 DOI: 10.1109/ICSM.2009.5306296
Thomas Zimmermann
Software development results in a huge amount of data: changes to source code are recorded in version archives, bugs are reported to issue tracking systems, and communications are archived in e-mails and newsgroups. We present techniques for mining version archives and bug databases to understand and support software development. First, we introduce the concept of co-addition of method calls, which we use to identify patterns that describe how methods should be called. We use dynamic analysis to validate these patterns and identify violations. The co-addition of method calls can also detect cross-cutting changes, which are an indicator for concerns that could have been realized as aspects in aspect-oriented programming. Second, we present techniques to build models that can successfully predict the most defect-prone parts of large-scale industrial software, in our experiments Windows Server 2003. This helps managers to allocate resources for quality assurance to those parts of a system that are expected to have most defects. The proposed measures on dependency graphs outperformed traditional complexity metrics. In addition, we found empirical evidence for a domino effect, i.e., depending on defect-prone binaries increases the chances of having defects.
软件开发会产生大量的数据:对源代码的更改记录在版本存档中,错误报告给问题跟踪系统,通信记录在电子邮件和新闻组中。我们介绍了挖掘版本档案和bug数据库的技术,以理解和支持软件开发。首先,我们引入方法调用的共加概念,我们用它来识别描述方法应该如何调用的模式。我们使用动态分析来验证这些模式并识别违规行为。方法调用的共同添加还可以检测横切更改,这是可以在面向方面编程中作为方面实现的关注点的指示器。其次,我们提出了建立模型的技术,可以成功地预测大规模工业软件中最容易出现缺陷的部分,在我们的实验中,Windows Server 2003。这有助于管理人员将质量保证的资源分配给系统中那些预计缺陷最多的部分。建议的依赖关系图度量优于传统的复杂性度量。另外,我们发现了多米诺骨牌效应的经验证据,也就是说,依赖容易出现缺陷的二进制文件会增加出现缺陷的机会。
{"title":"Changes and bugs — Mining and predicting development activities","authors":"Thomas Zimmermann","doi":"10.1109/ICSM.2009.5306296","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306296","url":null,"abstract":"Software development results in a huge amount of data: changes to source code are recorded in version archives, bugs are reported to issue tracking systems, and communications are archived in e-mails and newsgroups. We present techniques for mining version archives and bug databases to understand and support software development. First, we introduce the concept of co-addition of method calls, which we use to identify patterns that describe how methods should be called. We use dynamic analysis to validate these patterns and identify violations. The co-addition of method calls can also detect cross-cutting changes, which are an indicator for concerns that could have been realized as aspects in aspect-oriented programming. Second, we present techniques to build models that can successfully predict the most defect-prone parts of large-scale industrial software, in our experiments Windows Server 2003. This helps managers to allocate resources for quality assurance to those parts of a system that are expected to have most defects. The proposed measures on dependency graphs outperformed traditional complexity metrics. In addition, we found empirical evidence for a domino effect, i.e., depending on defect-prone binaries increases the chances of having defects.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"29 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":"115847642","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}
引用次数: 12
Business process recovery for system maintenance — An empirical approach 用于系统维护的业务流程恢复——一种经验方法
Pub Date : 2009-10-30 DOI: 10.1109/ICSM.2009.5306291
Zhengong Cai, Xiaohu Yang, Xinyu Wang
Understanding business processes is an important step for software maintenance. The approaches for recovering business processes are mostly based on source code analysis, including static analysis and dynamic analysis. All these methods are proved to be effective in some specific situations. However, they are challenged when facing enterprise legacy systems which implement complex business processes triggered by the external actors. In this paper, we introduce a new business process recovery approach that combines the requirement reacquisition with dynamic and static program analysis methods. The approach has been applied to the maintenance of an equity trading system to prove its efficiency.
理解业务流程是软件维护的重要步骤。恢复业务流程的方法主要基于源代码分析,包括静态分析和动态分析。所有这些方法在某些特定情况下都被证明是有效的。然而,当面对实现由外部参与者触发的复杂业务流程的企业遗留系统时,它们面临挑战。本文介绍了一种新的业务流程恢复方法,该方法将需求重新获取与动态和静态程序分析方法相结合。将该方法应用于股票交易系统的维护,以证明其有效性。
{"title":"Business process recovery for system maintenance — An empirical approach","authors":"Zhengong Cai, Xiaohu Yang, Xinyu Wang","doi":"10.1109/ICSM.2009.5306291","DOIUrl":"https://doi.org/10.1109/ICSM.2009.5306291","url":null,"abstract":"Understanding business processes is an important step for software maintenance. The approaches for recovering business processes are mostly based on source code analysis, including static analysis and dynamic analysis. All these methods are proved to be effective in some specific situations. However, they are challenged when facing enterprise legacy systems which implement complex business processes triggered by the external actors. In this paper, we introduce a new business process recovery approach that combines the requirement reacquisition with dynamic and static program analysis methods. The approach has been applied to the maintenance of an equity trading system to prove its efficiency.","PeriodicalId":247441,"journal":{"name":"2009 IEEE International Conference on Software Maintenance","volume":"21 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":"121805246","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}
引用次数: 20
期刊
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