首页 > 最新文献

2011 18th Working Conference on Reverse Engineering最新文献

英文 中文
Function Insight: Highlighting Suspicious Sections in Binary Run Traces 功能洞察:突出显示二进制运行轨迹中的可疑部分
Pub Date : 2011-10-17 DOI: 10.1109/WCRE.2011.63
M. Cheatham, J. Raber
Function Insight is a tool for visualizing run traces at the functional level. A key feature is the ability to bring the user's attention to particularly important sections of code based on rule-, machine learning- and data mining-based heuristics or a user-defined "interest metric."
Function Insight是一个在功能级别可视化运行轨迹的工具。一个关键特性是能够将用户的注意力吸引到基于规则、机器学习和数据挖掘的启发式方法或用户定义的“兴趣度量”的特别重要的代码部分。
{"title":"Function Insight: Highlighting Suspicious Sections in Binary Run Traces","authors":"M. Cheatham, J. Raber","doi":"10.1109/WCRE.2011.63","DOIUrl":"https://doi.org/10.1109/WCRE.2011.63","url":null,"abstract":"Function Insight is a tool for visualizing run traces at the functional level. A key feature is the ability to bring the user's attention to particularly important sections of code based on rule-, machine learning- and data mining-based heuristics or a user-defined \"interest metric.\"","PeriodicalId":350863,"journal":{"name":"2011 18th Working Conference on Reverse Engineering","volume":"34 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-10-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125033398","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
A Preliminary Evaluation of Text-based and Dependency-based Techniques for Determining the Origins of Bugs 基于文本和基于依赖的bug起源确定技术的初步评估
Pub Date : 2011-10-17 DOI: 10.1109/WCRE.2011.32
Steven Davies, M. Roper, M. Wood
A crucial step in understanding the life cycle of software bugs is identifying their origin. Unfortunately this information is not usually recorded and recovering it at a later date is challenging. Recently two approaches have been developed that attempt to solve this problem: the text approach and the dependency approach. However only limited evaluation has been carried out on their effectiveness so far, partially due to the lack of data sets linking bugs to their introduction. Producing such data sets is both time-consuming and challenging due to the subjective nature of the problem. To improve this, the origins of 166 bugs in two open-source projects were manually identified. These were then compared to a simulation of the approaches. The results show that both approaches were partially successful across a variety of different types of bugs. They achieved a precision of 29% -- 79% and a recall of 40% -- 70%, and could perform better when combined. However there remain a number of challenges to overcome in future development -- large commits, unrelated changes and large numbers of versions between the origin and the fix all reduce their effectiveness.
了解软件bug生命周期的关键一步是确定它们的起源。不幸的是,这些信息通常不会被记录下来,并且在以后的日期恢复它是具有挑战性的。最近出现了两种尝试解决这个问题的方法:文本方法和依赖关系方法。然而,到目前为止,对它们的有效性进行的评估有限,部分原因是缺乏将bug与它们的引入联系起来的数据集。由于问题的主观性,生成这样的数据集既耗时又具有挑战性。为了改进这一点,我们手动识别了两个开源项目中166个bug的来源。然后将这些方法与模拟方法进行比较。结果表明,这两种方法在各种不同类型的bug中都取得了部分成功。他们的准确率达到了29% - 79%,召回率达到了40% - 70%,如果结合起来,效果会更好。然而,在未来的开发中仍有许多挑战需要克服——大量提交、不相关的更改以及原始版本和修复之间的大量版本都会降低它们的有效性。
{"title":"A Preliminary Evaluation of Text-based and Dependency-based Techniques for Determining the Origins of Bugs","authors":"Steven Davies, M. Roper, M. Wood","doi":"10.1109/WCRE.2011.32","DOIUrl":"https://doi.org/10.1109/WCRE.2011.32","url":null,"abstract":"A crucial step in understanding the life cycle of software bugs is identifying their origin. Unfortunately this information is not usually recorded and recovering it at a later date is challenging. Recently two approaches have been developed that attempt to solve this problem: the text approach and the dependency approach. However only limited evaluation has been carried out on their effectiveness so far, partially due to the lack of data sets linking bugs to their introduction. Producing such data sets is both time-consuming and challenging due to the subjective nature of the problem. To improve this, the origins of 166 bugs in two open-source projects were manually identified. These were then compared to a simulation of the approaches. The results show that both approaches were partially successful across a variety of different types of bugs. They achieved a precision of 29% -- 79% and a recall of 40% -- 70%, and could perform better when combined. However there remain a number of challenges to overcome in future development -- large commits, unrelated changes and large numbers of versions between the origin and the fix all reduce their effectiveness.","PeriodicalId":350863,"journal":{"name":"2011 18th Working Conference on Reverse Engineering","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-10-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129769661","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}
引用次数: 4
Assessing Software Quality by Program Clustering and Defect Prediction 通过程序聚类和缺陷预测评估软件质量
Pub Date : 2011-10-17 DOI: 10.1109/WCRE.2011.37
X. Tan, Xin Peng, Sen Pan, Wenyun Zhao
Many empirical studies have shown that defect prediction models built on product metrics can be used to assess the quality of software modules. So far, most methods proposed in this direction predict defects by class or file. In this paper, we propose a novel software defect prediction method based on functional clusters of programs to improve the performance, especially the effort-aware performance, of defect prediction. In the method, we use proper-grained and problem-oriented program clusters as the basic units of defect prediction. To evaluate the effectiveness of the method, we conducted an experimental study on Eclipse 3.0. We found that, comparing with class-based models, cluster-based prediction models can significantly improve the recall (from 31.6% to 99.2%) and precision (from 73.8% to 91.6%) of defect prediction. According to the effort-aware evaluation, the effort needed to review code to find half of the total defects can be reduced by 6% if using cluster-based prediction models.
许多实证研究表明,建立在产品度量上的缺陷预测模型可以用来评估软件模块的质量。到目前为止,在这个方向上提出的大多数方法都是通过类或文件来预测缺陷的。本文提出了一种基于程序功能簇的软件缺陷预测方法,以提高缺陷预测的性能,特别是工作感知性能。在该方法中,我们使用适当粒度和面向问题的程序聚类作为缺陷预测的基本单元。为了评估该方法的有效性,我们在Eclipse 3.0上进行了实验研究。我们发现,与基于类的预测模型相比,基于聚类的预测模型可以显著提高缺陷预测的召回率(从31.6%提高到99.2%)和准确率(从73.8%提高到91.6%)。根据工作量感知评估,如果使用基于聚类的预测模型,审查代码以发现总缺陷的一半所需的工作量可以减少6%。
{"title":"Assessing Software Quality by Program Clustering and Defect Prediction","authors":"X. Tan, Xin Peng, Sen Pan, Wenyun Zhao","doi":"10.1109/WCRE.2011.37","DOIUrl":"https://doi.org/10.1109/WCRE.2011.37","url":null,"abstract":"Many empirical studies have shown that defect prediction models built on product metrics can be used to assess the quality of software modules. So far, most methods proposed in this direction predict defects by class or file. In this paper, we propose a novel software defect prediction method based on functional clusters of programs to improve the performance, especially the effort-aware performance, of defect prediction. In the method, we use proper-grained and problem-oriented program clusters as the basic units of defect prediction. To evaluate the effectiveness of the method, we conducted an experimental study on Eclipse 3.0. We found that, comparing with class-based models, cluster-based prediction models can significantly improve the recall (from 31.6% to 99.2%) and precision (from 73.8% to 91.6%) of defect prediction. According to the effort-aware evaluation, the effort needed to review code to find half of the total defects can be reduced by 6% if using cluster-based prediction models.","PeriodicalId":350863,"journal":{"name":"2011 18th Working Conference on Reverse Engineering","volume":"39 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-10-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124100725","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}
引用次数: 31
Can We Predict Dependencies Using Domain information? 我们可以使用领域信息预测依赖关系吗?
Pub Date : 2011-10-17 DOI: 10.1109/WCRE.2011.17
Amir Aryani, F. Perin, M. Lungu, A. Mahmood, Oscar Nierstrasz
Software dependencies play a vital role in program comprehension, change impact analysis and other software maintenance activities. Traditionally, these activities are supported by source code analysis, however, the source code is sometimes inaccessible, and not all stakeholders have adequate knowledge to perform such analysis. For example, non-technical domain experts and consultants raise most maintenance requests, however, they cannot predict the cost and impact of the requested changes without the support of the developers. We propose a novel approach to predict software dependencies by exploiting coupling present in domain-level information. Our approach is independent of the software implementation, hence, it can be used to evaluate architectural dependencies without access to the source code or the database. We evaluate our approach with a case study on a large-scale enterprise system, in which we demonstrate how up to 68% of the source code dependencies and 77% of the database dependencies are predicted solely based on domain information.
软件依赖关系在程序理解、变更影响分析和其他软件维护活动中起着至关重要的作用。传统上,这些活动是由源代码分析支持的,然而,源代码有时是不可访问的,并且并不是所有的涉众都有足够的知识来执行这样的分析。例如,非技术领域专家和顾问提出了大多数维护请求,但是,如果没有开发人员的支持,他们无法预测所请求更改的成本和影响。我们提出了一种利用领域级信息中存在的耦合来预测软件依赖的新方法。我们的方法是独立于软件实现的,因此,它可以用来评估架构依赖,而不需要访问源代码或数据库。我们通过一个大型企业系统的案例研究来评估我们的方法,在这个案例中,我们展示了高达68%的源代码依赖关系和77%的数据库依赖关系是如何仅仅基于域信息来预测的。
{"title":"Can We Predict Dependencies Using Domain information?","authors":"Amir Aryani, F. Perin, M. Lungu, A. Mahmood, Oscar Nierstrasz","doi":"10.1109/WCRE.2011.17","DOIUrl":"https://doi.org/10.1109/WCRE.2011.17","url":null,"abstract":"Software dependencies play a vital role in program comprehension, change impact analysis and other software maintenance activities. Traditionally, these activities are supported by source code analysis, however, the source code is sometimes inaccessible, and not all stakeholders have adequate knowledge to perform such analysis. For example, non-technical domain experts and consultants raise most maintenance requests, however, they cannot predict the cost and impact of the requested changes without the support of the developers. We propose a novel approach to predict software dependencies by exploiting coupling present in domain-level information. Our approach is independent of the software implementation, hence, it can be used to evaluate architectural dependencies without access to the source code or the database. We evaluate our approach with a case study on a large-scale enterprise system, in which we demonstrate how up to 68% of the source code dependencies and 77% of the database dependencies are predicted solely based on domain information.","PeriodicalId":350863,"journal":{"name":"2011 18th Working Conference on Reverse Engineering","volume":"2016 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-10-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132397897","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}
引用次数: 18
How Long Does a Bug Survive? An Empirical Study 虫子能存活多久?实证研究
Pub Date : 2011-10-17 DOI: 10.1109/WCRE.2011.31
G. Canfora, M. Ceccarelli, L. Cerulo, M. D. Penta
Corrective maintenance activities (bug fixing) can be performed a long time after a bug introduction, or shortly after it. Such a time interval, i.e., the bug survival time, may depend on many factors, e.g., the bug severity/harmfulness, but also on how likely does the bug manifest itself and how difficult was to fix it. This paper proposes the use of survival analysis aimed at determining the relationship between the risk of not fixing a bug within a given time frame and specific source code constructs-e.g., expression operators or programming language constructs-changed when fixing the bug. We estimate the survival time by extracting, from versioning repositories, changes introducing and fixing bugs, and then correlate such a time-by means of survival models-with the constructs changed during bug-fixing. Results of a study performed on data extracted from the versioning repository of four open source projects-Eclipse, Mozilla, Open LDAP, and Vuze-indicate that long-lived bugs can be characterized by changes to specific code constructs.
纠正性维护活动(bug修复)可以在bug引入后很长时间内执行,也可以在bug引入后不久执行。这样的时间间隔,即bug存活时间,可能取决于许多因素,例如,bug的严重性/危害性,但也取决于bug出现的可能性和修复它的难度。本文建议使用生存分析,旨在确定在给定时间框架内未修复错误的风险与特定源代码结构之间的关系。,表达式运算符或编程语言结构-在修复错误时更改。我们通过从版本控制存储库中提取引入和修复bug的更改来估计生存时间,然后通过生存模型将这种时间与bug修复期间更改的构造相关联。对从四个开放源码项目(eclipse、Mozilla、open LDAP和vuzz)的版本控制存储库中提取的数据进行的一项研究的结果表明,长期存在的bug可以通过对特定代码结构的更改来表征。
{"title":"How Long Does a Bug Survive? An Empirical Study","authors":"G. Canfora, M. Ceccarelli, L. Cerulo, M. D. Penta","doi":"10.1109/WCRE.2011.31","DOIUrl":"https://doi.org/10.1109/WCRE.2011.31","url":null,"abstract":"Corrective maintenance activities (bug fixing) can be performed a long time after a bug introduction, or shortly after it. Such a time interval, i.e., the bug survival time, may depend on many factors, e.g., the bug severity/harmfulness, but also on how likely does the bug manifest itself and how difficult was to fix it. This paper proposes the use of survival analysis aimed at determining the relationship between the risk of not fixing a bug within a given time frame and specific source code constructs-e.g., expression operators or programming language constructs-changed when fixing the bug. We estimate the survival time by extracting, from versioning repositories, changes introducing and fixing bugs, and then correlate such a time-by means of survival models-with the constructs changed during bug-fixing. Results of a study performed on data extracted from the versioning repository of four open source projects-Eclipse, Mozilla, Open LDAP, and Vuze-indicate that long-lived bugs can be characterized by changes to specific code constructs.","PeriodicalId":350863,"journal":{"name":"2011 18th Working Conference on Reverse Engineering","volume":"252 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-10-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134497361","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 34
jPET: An Automatic Test-Case Generator for Java jPET: Java的自动测试用例生成器
Pub Date : 2011-10-17 DOI: 10.1109/WCRE.2011.67
E. Albert, Israel Cabanas, Antonio Flores-Montoya, M. Gómez-Zamalloa, Sergio Gutierrez
We present jPET, a white box test-case generator (TCG) which can be used during software development of Java applications within the Eclipse environment. jPET builds on top of PET, a TCG which automatically obtains test-cases from the byte code associated to a Java program. jPET performs reverse engineering of the test-cases obtained at the byte code level by PET in order to yield this information to the user at the source code level. This allows understanding the information gathered at the lower level and using it to test source Java programs.
我们介绍了jPET,它是一个白盒测试用例生成器(TCG),可以在Eclipse环境中的Java应用程序的软件开发过程中使用。jPET构建在PET之上,PET是一个TCG,它自动从与Java程序相关的字节码中获取测试用例。jPET对PET在字节码级别获得的测试用例执行逆向工程,以便在源代码级别向用户提供该信息。这允许理解在较低级别收集的信息,并使用它来测试源Java程序。
{"title":"jPET: An Automatic Test-Case Generator for Java","authors":"E. Albert, Israel Cabanas, Antonio Flores-Montoya, M. Gómez-Zamalloa, Sergio Gutierrez","doi":"10.1109/WCRE.2011.67","DOIUrl":"https://doi.org/10.1109/WCRE.2011.67","url":null,"abstract":"We present jPET, a white box test-case generator (TCG) which can be used during software development of Java applications within the Eclipse environment. jPET builds on top of PET, a TCG which automatically obtains test-cases from the byte code associated to a Java program. jPET performs reverse engineering of the test-cases obtained at the byte code level by PET in order to yield this information to the user at the source code level. This allows understanding the information gathered at the lower level and using it to test source Java programs.","PeriodicalId":350863,"journal":{"name":"2011 18th Working Conference on Reverse Engineering","volume":"30 4 Pt 2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-10-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129384326","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}
引用次数: 25
Measuring the Accuracy of Information Retrieval Based Bug Localization Techniques 基于Bug定位技术的信息检索精度测量
Pub Date : 2011-10-17 DOI: 10.1109/WCRE.2011.23
Matthew D. Beard, Nicholas A. Kraft, L. Etzkorn, Stacy K. Lukins
Bug localization involves using information about a bug to locate affected code sections. Several automated bug localization techniques based on information retrieval (IR) models have been constructed recently. The "gold standard" of measuring an IR technique's accuracy considers the technique's ability to locate a "first relevant method." However, the question remains -- does finding this single method enable the location of a complete set of affected methods? Previous arguments assume this to be true, however, few analyses of this assumption have been performed. In this paper, we perform a case study to test the reliability of this "gold standard" assumption. To further measure IR accuracy in the context of bug localization, we analyze the relevance of the IR model's "first method returned." We use various structural analysis techniques to extend relevant methods located by IR techniques and determine accuracy and reliability of these assumptions.
Bug本地化涉及使用有关Bug的信息来定位受影响的代码部分。近年来,人们建立了几种基于信息检索(IR)模型的自动错误定位技术。衡量红外技术准确性的“黄金标准”考虑的是该技术定位“第一相关方法”的能力。然而,问题仍然存在——找到这个单一的方法是否能够找到一组完整的受影响的方法?先前的论点假设这是正确的,然而,很少对这一假设进行分析。在本文中,我们进行了一个案例研究来检验这一“金标准”假设的可靠性。为了在bug定位的背景下进一步测量IR的准确性,我们分析了IR模型的“第一个返回方法”的相关性。我们使用各种结构分析技术来扩展红外技术定位的相关方法,并确定这些假设的准确性和可靠性。
{"title":"Measuring the Accuracy of Information Retrieval Based Bug Localization Techniques","authors":"Matthew D. Beard, Nicholas A. Kraft, L. Etzkorn, Stacy K. Lukins","doi":"10.1109/WCRE.2011.23","DOIUrl":"https://doi.org/10.1109/WCRE.2011.23","url":null,"abstract":"Bug localization involves using information about a bug to locate affected code sections. Several automated bug localization techniques based on information retrieval (IR) models have been constructed recently. The \"gold standard\" of measuring an IR technique's accuracy considers the technique's ability to locate a \"first relevant method.\" However, the question remains -- does finding this single method enable the location of a complete set of affected methods? Previous arguments assume this to be true, however, few analyses of this assumption have been performed. In this paper, we perform a case study to test the reliability of this \"gold standard\" assumption. To further measure IR accuracy in the context of bug localization, we analyze the relevance of the IR model's \"first method returned.\" We use various structural analysis techniques to extend relevant methods located by IR techniques and determine accuracy and reliability of these assumptions.","PeriodicalId":350863,"journal":{"name":"2011 18th Working Conference on Reverse Engineering","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-10-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126131803","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
Reverse Engineering of Event Handlers of RAD-Based Applications 基于rad的应用程序的事件处理程序的逆向工程
Pub Date : 2011-10-17 DOI: 10.1109/WCRE.2011.43
Ó. Ramón, J. Cuadrado, J. Molina
Businesses are more and more modernising the legacy systems they developed with Rapid Application Development (RAD) environments, so that they can benefit from the new platforms and technologies. When facing the modernisation of applications developed with RAD environments, developers must deal with event handling code that typically mixes concerns such as GUI and business logic. In this paper we propose a model-based approach to tackle the reverse engineering of event handlers in RAD-based applications. Event handling code is transformed into an intermediate representation that captures the high-level behaviour of the code. From this representation, some modernisation tasks can be automated, and we propose the migration to a different architecture as an example. In particular, from PL/SQL code, a new Ajax application will be generated, where business logic, user interface and control code have been separated.
企业越来越多地对他们使用快速应用程序开发(RAD)环境开发的遗留系统进行现代化改造,这样他们就可以从新的平台和技术中获益。当面对用RAD环境开发的应用程序的现代化时,开发人员必须处理事件处理代码,这些代码通常混合了GUI和业务逻辑等关注点。在本文中,我们提出了一种基于模型的方法来解决基于rad的应用程序中事件处理程序的逆向工程。事件处理代码被转换为捕获代码高级行为的中间表示形式。根据这种表示,一些现代化任务可以自动化,我们提出将迁移到不同的体系结构作为示例。特别是,将从PL/SQL代码中生成一个新的Ajax应用程序,其中业务逻辑、用户界面和控制代码已经分离。
{"title":"Reverse Engineering of Event Handlers of RAD-Based Applications","authors":"Ó. Ramón, J. Cuadrado, J. Molina","doi":"10.1109/WCRE.2011.43","DOIUrl":"https://doi.org/10.1109/WCRE.2011.43","url":null,"abstract":"Businesses are more and more modernising the legacy systems they developed with Rapid Application Development (RAD) environments, so that they can benefit from the new platforms and technologies. When facing the modernisation of applications developed with RAD environments, developers must deal with event handling code that typically mixes concerns such as GUI and business logic. In this paper we propose a model-based approach to tackle the reverse engineering of event handlers in RAD-based applications. Event handling code is transformed into an intermediate representation that captures the high-level behaviour of the code. From this representation, some modernisation tasks can be automated, and we propose the migration to a different architecture as an example. In particular, from PL/SQL code, a new Ajax application will be generated, where business logic, user interface and control code have been separated.","PeriodicalId":350863,"journal":{"name":"2011 18th Working Conference on Reverse Engineering","volume":"112 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-10-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129523854","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
Got Issues? Do New Features and Code Improvements Affect Defects? 有问题吗?新特性和代码改进会影响缺陷吗?
Pub Date : 2011-10-17 DOI: 10.1109/WCRE.2011.33
Daryl Posnett, Abram Hindle, Premkumar T. Devanbu
There is a perception that when new features are added to a system that those added and modified parts of the source-code are more fault prone. Many have argued that new code and new features are defect prone due to immaturity, lack of testing, as well unstable requirements. Unfortunately most previous work does not investigate the link between a concrete requirement or new feature and the defects it causes, in particular the feature, the changed code and the subsequent defects are rarely investigated. In this paper we investigate the relationship between improvements, new features and defects recorded within an issue tracker. A manual case study is performed to validate the accuracy of these issue types. We combine defect issues and new feature issues with the code from version-control systems that introduces these features, we then explore the relationship of new features with the fault-proneness of their implementations. We describe properties and produce models of the relationship between new features and fault proneness, based on the analysis of issue trackers and version-control systems. We find, surprisingly, that neither improvements nor new features have any significant effect on later defect counts, when controlling for size and total number of changes.
有一种看法认为,当向系统添加新特性时,那些添加和修改的源代码部分更容易出错。许多人认为,由于不成熟、缺乏测试以及不稳定的需求,新代码和新特性容易出现缺陷。不幸的是,大多数先前的工作都没有调查具体需求或新特性与它引起的缺陷之间的联系,特别是特性、更改的代码和随后的缺陷很少被调查。在本文中,我们研究了在问题跟踪器中记录的改进、新特性和缺陷之间的关系。执行手动案例研究以验证这些问题类型的准确性。我们将缺陷问题和新特性问题与引入这些特性的版本控制系统的代码结合起来,然后我们探索新特性与其实现的错误倾向之间的关系。基于对问题跟踪器和版本控制系统的分析,我们描述了新特性和故障倾向之间的关系,并建立了模型。我们发现,令人惊讶的是,当控制变更的大小和总数时,改进和新特性对后来的缺陷计数都没有任何显著的影响。
{"title":"Got Issues? Do New Features and Code Improvements Affect Defects?","authors":"Daryl Posnett, Abram Hindle, Premkumar T. Devanbu","doi":"10.1109/WCRE.2011.33","DOIUrl":"https://doi.org/10.1109/WCRE.2011.33","url":null,"abstract":"There is a perception that when new features are added to a system that those added and modified parts of the source-code are more fault prone. Many have argued that new code and new features are defect prone due to immaturity, lack of testing, as well unstable requirements. Unfortunately most previous work does not investigate the link between a concrete requirement or new feature and the defects it causes, in particular the feature, the changed code and the subsequent defects are rarely investigated. In this paper we investigate the relationship between improvements, new features and defects recorded within an issue tracker. A manual case study is performed to validate the accuracy of these issue types. We combine defect issues and new feature issues with the code from version-control systems that introduces these features, we then explore the relationship of new features with the fault-proneness of their implementations. We describe properties and produce models of the relationship between new features and fault proneness, based on the analysis of issue trackers and version-control systems. We find, surprisingly, that neither improvements nor new features have any significant effect on later defect counts, when controlling for size and total number of changes.","PeriodicalId":350863,"journal":{"name":"2011 18th Working Conference on Reverse Engineering","volume":"149 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-10-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129856980","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}
引用次数: 16
Approximate Code Search in Program Histories 程序历史中的近似代码搜索
Pub Date : 2011-10-17 DOI: 10.1109/WCRE.2011.22
Saman Bazrafshan, R. Koschke, Nils Göde
Very often a defect must be corrected not only in the current version of a program at one particular place but in many places and many other versions -- possibly even in different development branches. Consequently, we need a technique to efficiently locate all approximate matches of an arbitrary defective code fragment in the program's history as they may need to be fixed as well. This paper presents an approximate whole-program code search in multiple releases and branches. We evaluate this technique for real-world defects of various large and realistic programs having multiple releases and branches. We report runtime measurements and recall using varying levels of allowable differences of the approximate search.
通常,一个缺陷不仅必须在一个特定地方的程序的当前版本中纠正,而且必须在许多地方和许多其他版本中纠正——甚至可能在不同的开发分支中。因此,我们需要一种技术来有效地定位程序历史中任意有缺陷的代码片段的所有近似匹配,因为它们也可能需要修复。本文提出了一种近似的多版本多分支全程序代码搜索方法。我们对具有多个版本和分支的各种大型和现实程序的实际缺陷进行评估。我们报告运行时测量和召回使用不同水平的允许差异的近似搜索。
{"title":"Approximate Code Search in Program Histories","authors":"Saman Bazrafshan, R. Koschke, Nils Göde","doi":"10.1109/WCRE.2011.22","DOIUrl":"https://doi.org/10.1109/WCRE.2011.22","url":null,"abstract":"Very often a defect must be corrected not only in the current version of a program at one particular place but in many places and many other versions -- possibly even in different development branches. Consequently, we need a technique to efficiently locate all approximate matches of an arbitrary defective code fragment in the program's history as they may need to be fixed as well. This paper presents an approximate whole-program code search in multiple releases and branches. We evaluate this technique for real-world defects of various large and realistic programs having multiple releases and branches. We report runtime measurements and recall using varying levels of allowable differences of the approximate search.","PeriodicalId":350863,"journal":{"name":"2011 18th Working Conference on Reverse Engineering","volume":"153 10","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-10-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134545536","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}
引用次数: 16
期刊
2011 18th Working Conference on Reverse Engineering
全部 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