首页 > 最新文献

2013 20th Working Conference on Reverse Engineering (WCRE)最新文献

英文 中文
The first decade of GUI ripping: Extensions, applications, and broader impacts GUI撷取的第一个十年:扩展、应用程序和更广泛的影响
Pub Date : 2013-11-21 DOI: 10.1109/WCRE.2013.6671275
A. Memon, Ishan Banerjee, Bao-Ngoc Nguyen, Bryan J. Robbins
This paper provides a retrospective examination of GUI Ripping - reverse engineering a workflow model of the graphical user interface of a software application - born a decade ago out of recognition of the severe need for improving the then largely manual state-of-the-practice of functional GUI testing. In these last 10 years, GUI ripping has turned out to be an enabler for much research, both within our group at Maryland and other groups. Researchers have found new and unique applications of GUI ripping, ranging from measuring human performance to re-engineering legacy user interfaces. GUI ripping has also enabled large-scale experimentation involving millions of test cases, thereby helping to understand the nature of GUI faults and characteristics of test cases to detect them. It has resulted in large multi-institutional Government-sponsored research projects on test automation and benchmarking. GUI ripping tools have been ported to many platforms, including Java AWT and Swing, iOS, Android, UNO, Microsoft Windows, and web. In essence, the technology has transformed the way researchers and practitioners think about the nature of GUI testing, no longer considered a manual activity; rather, thanks largely to GUI Ripping, automation has become the primary focus of current GUI testing techniques.
本文提供了对GUI撕裂的回顾检查-软件应用程序图形用户界面的逆向工程工作流模型-诞生于十年前,当时人们认识到迫切需要改进功能GUI测试的手工状态。在过去的10年里,GUI拆分已经成为许多研究的推动者,无论是在我们在马里兰的小组还是在其他小组。研究人员已经发现了新的和独特的GUI撷取应用程序,从测量人类表现到重新设计遗留用户界面。GUI拆分还使涉及数百万个测试用例的大规模实验成为可能,从而帮助理解GUI错误的本质和测试用例的特征以检测它们。它导致了大型多机构政府资助的测试自动化和基准测试研究项目。GUI抓取工具已经移植到许多平台,包括Java AWT和Swing、iOS、Android、UNO、Microsoft Windows和web。从本质上讲,该技术已经改变了研究人员和实践者对GUI测试本质的思考方式,不再被认为是手工活动;相反,很大程度上要感谢GUI Ripping,自动化已经成为当前GUI测试技术的主要焦点。
{"title":"The first decade of GUI ripping: Extensions, applications, and broader impacts","authors":"A. Memon, Ishan Banerjee, Bao-Ngoc Nguyen, Bryan J. Robbins","doi":"10.1109/WCRE.2013.6671275","DOIUrl":"https://doi.org/10.1109/WCRE.2013.6671275","url":null,"abstract":"This paper provides a retrospective examination of GUI Ripping - reverse engineering a workflow model of the graphical user interface of a software application - born a decade ago out of recognition of the severe need for improving the then largely manual state-of-the-practice of functional GUI testing. In these last 10 years, GUI ripping has turned out to be an enabler for much research, both within our group at Maryland and other groups. Researchers have found new and unique applications of GUI ripping, ranging from measuring human performance to re-engineering legacy user interfaces. GUI ripping has also enabled large-scale experimentation involving millions of test cases, thereby helping to understand the nature of GUI faults and characteristics of test cases to detect them. It has resulted in large multi-institutional Government-sponsored research projects on test automation and benchmarking. GUI ripping tools have been ported to many platforms, including Java AWT and Swing, iOS, Android, UNO, Microsoft Windows, and web. In essence, the technology has transformed the way researchers and practitioners think about the nature of GUI testing, no longer considered a manual activity; rather, thanks largely to GUI Ripping, automation has become the primary focus of current GUI testing techniques.","PeriodicalId":275092,"journal":{"name":"2013 20th Working Conference on Reverse Engineering (WCRE)","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-11-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121501991","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
Improving SOA antipatterns detection in Service Based Systems by mining execution traces 通过挖掘执行跟踪改进基于服务的系统中的SOA反模式检测
Pub Date : 2013-10-01 DOI: 10.1109/WCRE.2013.6671307
Mathieu Nayrolles, Naouel Moha, Petko Valtchev
Service Based Systems (SBSs), like other software systems, evolve due to changes in both user requirements and execution contexts. Continuous evolution could easily deteriorate the design and reduce the Quality of Service (QoS) of SBSs and may result in poor design solutions, commonly known as SOA antipatterns. SOA antipatterns lead to a reduced maintainability and reusability of SBSs. It is therefore important to first detect and then remove them. However, techniques for SOA antipattern detection are still in their infancy, and there are hardly any tools for their automatic detection. In this paper, we propose a new and innovative approach for SOA antipattern detection called SOMAD (Service Oriented Mining for Antipattern Detection) which is an evolution of the previously published SODA (Service Oriented Detection For Antpatterns) tool. SOMAD improves SOA antipattern detection by mining execution traces: It detects strong associations between sequences of service/method calls and further filters them using a suite of dedicated metrics. We first present the underlying association mining model and introduce the SBS-oriented rule metrics. We then describe a validating application of SOMAD to two independently developed SBSs. A comparison of our new tool with SODA reveals superiority of the former: Its precision is better by a margin ranging from 2.6% to 16.67% while the recall remains optimal at 100% and the speed is significantly reduces (2.5+ times on the same test subjects).
与其他软件系统一样,基于服务的系统(Service - Based Systems, SBSs)会随着用户需求和执行上下文的变化而发展。持续的演化很容易使设计恶化,降低sbs的服务质量(QoS),并可能导致糟糕的设计解决方案,即通常所说的SOA反模式。SOA反模式会降低sbs的可维护性和可重用性。因此,重要的是首先发现并清除它们。然而,SOA反模式检测技术仍处于起步阶段,几乎没有任何工具可以自动检测它们。在本文中,我们提出了一种新的、创新的SOA反模式检测方法,称为SOMAD(面向服务的反模式检测挖掘),它是先前发布的SODA(面向服务的反模式检测)工具的发展。SOMAD通过挖掘执行跟踪改进了SOA反模式检测:它检测服务/方法调用序列之间的强关联,并使用一套专用指标进一步过滤它们。我们首先介绍底层关联挖掘模型,并介绍面向sbs的规则度量。然后,我们对两个独立开发的sbs描述了一个验证SOMAD的应用程序。我们的新工具与SODA的比较揭示了前者的优越性:它的精度在2.6%到16.67%之间,而召回率在100%保持最佳,速度显着降低(在相同的测试对象上降低2.5倍以上)。
{"title":"Improving SOA antipatterns detection in Service Based Systems by mining execution traces","authors":"Mathieu Nayrolles, Naouel Moha, Petko Valtchev","doi":"10.1109/WCRE.2013.6671307","DOIUrl":"https://doi.org/10.1109/WCRE.2013.6671307","url":null,"abstract":"Service Based Systems (SBSs), like other software systems, evolve due to changes in both user requirements and execution contexts. Continuous evolution could easily deteriorate the design and reduce the Quality of Service (QoS) of SBSs and may result in poor design solutions, commonly known as SOA antipatterns. SOA antipatterns lead to a reduced maintainability and reusability of SBSs. It is therefore important to first detect and then remove them. However, techniques for SOA antipattern detection are still in their infancy, and there are hardly any tools for their automatic detection. In this paper, we propose a new and innovative approach for SOA antipattern detection called SOMAD (Service Oriented Mining for Antipattern Detection) which is an evolution of the previously published SODA (Service Oriented Detection For Antpatterns) tool. SOMAD improves SOA antipattern detection by mining execution traces: It detects strong associations between sequences of service/method calls and further filters them using a suite of dedicated metrics. We first present the underlying association mining model and introduce the SBS-oriented rule metrics. We then describe a validating application of SOMAD to two independently developed SBSs. A comparison of our new tool with SODA reveals superiority of the former: Its precision is better by a margin ranging from 2.6% to 16.67% while the recall remains optimal at 100% and the speed is significantly reduces (2.5+ times on the same test subjects).","PeriodicalId":275092,"journal":{"name":"2013 20th Working Conference on Reverse Engineering (WCRE)","volume":"35 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127365195","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 26
3rd workshop on Mining Unstructured Data 第三届非结构化数据挖掘研讨会
Pub Date : 2013-10-01 DOI: 10.1109/WCRE.2013.6671333
Alberto Bacchelli, Nicolas Bettenburg, Latifa Guerrouj, S. Haiduc
Software development knowledge resides in the source code and in a number of other artefacts produced during the development process. To extract such a knowledge, past software engineering research has extensively focused on mining the source code, i.e., the final product of the development effort. Currently, we witness an emerging trend where researchers strive to exploit the information captured in artifacts such as emails and bug reports, free-form text requirements and specifications, comments and identifiers. Being often expressed in natural language, and not having a well-defined structure, the information stored in these artifacts is defined as unstructured data. Although research communities in Information Retrieval, Data Mining and Natural Language Processing have devised techniques to deal with unstructured data, these techniques are usually limited in scope (i.e., designed for English language text found in newspaper articles) and intended for use in specific scenarios, thus failing to achieve their full potential in a software development context. The workshop on Mining Unstructured Data (MUD) aims to provide a common venue for researchers and practitioners across software engineering, information retrieval and data mining research domains, to share new approaches and emerging results in mining unstructured data.
软件开发知识存在于源代码和开发过程中产生的许多其他工件中。为了提取这样的知识,过去的软件工程研究广泛地关注于挖掘源代码,即开发工作的最终产品。目前,我们目睹了一种新兴的趋势,研究人员努力利用在工件中捕获的信息,如电子邮件和错误报告、自由格式的文本需求和规范、注释和标识符。由于通常用自然语言表示,并且没有定义良好的结构,因此存储在这些工件中的信息被定义为非结构化数据。尽管信息检索、数据挖掘和自然语言处理领域的研究团体已经设计出了处理非结构化数据的技术,但这些技术通常在范围上是有限的(例如,为报纸文章中的英语文本设计的),并且打算用于特定的场景,因此无法在软件开发环境中实现其全部潜力。挖掘非结构化数据(MUD)研讨会旨在为跨软件工程、信息检索和数据挖掘研究领域的研究人员和从业者提供一个共同的场所,分享挖掘非结构化数据的新方法和新成果。
{"title":"3rd workshop on Mining Unstructured Data","authors":"Alberto Bacchelli, Nicolas Bettenburg, Latifa Guerrouj, S. Haiduc","doi":"10.1109/WCRE.2013.6671333","DOIUrl":"https://doi.org/10.1109/WCRE.2013.6671333","url":null,"abstract":"Software development knowledge resides in the source code and in a number of other artefacts produced during the development process. To extract such a knowledge, past software engineering research has extensively focused on mining the source code, i.e., the final product of the development effort. Currently, we witness an emerging trend where researchers strive to exploit the information captured in artifacts such as emails and bug reports, free-form text requirements and specifications, comments and identifiers. Being often expressed in natural language, and not having a well-defined structure, the information stored in these artifacts is defined as unstructured data. Although research communities in Information Retrieval, Data Mining and Natural Language Processing have devised techniques to deal with unstructured data, these techniques are usually limited in scope (i.e., designed for English language text found in newspaper articles) and intended for use in specific scenarios, thus failing to achieve their full potential in a software development context. The workshop on Mining Unstructured Data (MUD) aims to provide a common venue for researchers and practitioners across software engineering, information retrieval and data mining research domains, to share new approaches and emerging results in mining unstructured data.","PeriodicalId":275092,"journal":{"name":"2013 20th Working Conference on Reverse Engineering (WCRE)","volume":"32 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130044046","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
Leveraging historical co-change information for requirements traceability 利用历史共变更信息实现需求可追溯性
Pub Date : 2013-10-01 DOI: 10.1109/WCRE.2013.6671311
Nasir Ali, Fehmi Jaafar, A. Hassan
Requirements traceability (RT) links requirements to the corresponding source code entities, which implement them. Information Retrieval (IR) based RT links recovery approaches are often used to automatically recover RT links. However, such approaches exhibit low accuracy, in terms of precision, recall, and ranking. This paper presents an approach (CoChaIR), complementary to existing IR-based RT links recovery approaches. CoChaIR leverages historical co-change information of files to improve the accuracy of IR-based RT links recovery approaches. We evaluated the effectiveness of CoChaIR on three datasets, i.e., iTrust, Pooka, and SIP Communicator. We compared CoChaIR with two different IR-based RT links recovery approaches, i.e., vector space model and Jensen-Shannon divergence model. Our study results show that CoChaIR significantly improves precision and recall by up to 12.38% and 5.67% respectively; while decreasing the rank of true positive links by up to 48% and reducing false positive links by up to 44%.
需求可追溯性(RT)将需求链接到相应的源代码实体,这些实体实现了需求。基于信息检索(Information Retrieval, IR)的RT链路恢复方法通常用于自动恢复RT链路。然而,这些方法在精度、召回率和排名方面表现出较低的准确性。本文提出了一种方法(CoChaIR),补充了现有的基于ir的RT链接恢复方法。CoChaIR利用文件的历史共变信息来提高基于ir的RT链接恢复方法的准确性。我们评估了CoChaIR在三个数据集上的有效性,即iTrust、Pooka和SIP Communicator。我们比较了CoChaIR与两种不同的基于ir的RT链路恢复方法,即向量空间模型和Jensen-Shannon散度模型。研究结果表明,CoChaIR可显著提高查准率和查全率,分别提高12.38%和5.67%;同时将真阳性链接的排名降低了48%,将假阳性链接的排名降低了44%。
{"title":"Leveraging historical co-change information for requirements traceability","authors":"Nasir Ali, Fehmi Jaafar, A. Hassan","doi":"10.1109/WCRE.2013.6671311","DOIUrl":"https://doi.org/10.1109/WCRE.2013.6671311","url":null,"abstract":"Requirements traceability (RT) links requirements to the corresponding source code entities, which implement them. Information Retrieval (IR) based RT links recovery approaches are often used to automatically recover RT links. However, such approaches exhibit low accuracy, in terms of precision, recall, and ranking. This paper presents an approach (CoChaIR), complementary to existing IR-based RT links recovery approaches. CoChaIR leverages historical co-change information of files to improve the accuracy of IR-based RT links recovery approaches. We evaluated the effectiveness of CoChaIR on three datasets, i.e., iTrust, Pooka, and SIP Communicator. We compared CoChaIR with two different IR-based RT links recovery approaches, i.e., vector space model and Jensen-Shannon divergence model. Our study results show that CoChaIR significantly improves precision and recall by up to 12.38% and 5.67% respectively; while decreasing the rank of true positive links by up to 48% and reducing false positive links by up to 44%.","PeriodicalId":275092,"journal":{"name":"2013 20th Working Conference on Reverse Engineering (WCRE)","volume":"103 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132987585","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 15
An approach to clone detection in behavioural models 行为模型中的克隆检测方法
Pub Date : 2013-10-01 DOI: 10.1109/WCRE.2013.6671325
Elizabeth P. Antony, Manar H. Alalfi, J. Cordy
In this paper we present an approach for identifying near-miss interaction clones in reverse-engineered UML behavioural models. Our goal is to identify patterns of interaction (“conversations”) that can be used to characterize and abstract the run-time behaviour of web applications and other interactive systems. In order to leverage robust near-miss code clone technology, our approach is text-based, working on the level of XMI, the standard interchange serialization for UML. Behavioural model clone detection presents several challenges - first, it is not clear how to break a continuous stream of interaction between lifelines into meaningful conversational units. Second, unlike programming languages, the XMI text representation for UML is highly non-local, using attributes to reference information in the model file remotely. In this work we use a set of contextualizing source transformations on the XMI text representation to reveal the hidden hierarchical structure of the model and granularize behavioural interactions into conversational units. Then we adapt NiCad, a near-miss code clone detection tool, to help us identify conversational clones in reverse-engineered behavioural models.
在本文中,我们提出了一种在逆向工程的UML行为模型中识别未遂交互克隆的方法。我们的目标是识别可用于描述和抽象web应用程序和其他交互系统的运行时行为的交互模式(“对话”)。为了利用健壮的近距离代码克隆技术,我们的方法是基于文本的,在xml级别上工作,xml是UML的标准交换序列化。行为模型克隆检测提出了几个挑战——首先,不清楚如何将生命线之间的连续交互流打破为有意义的会话单元。其次,与编程语言不同,UML的xml文本表示是高度非本地的,它使用属性来远程引用模型文件中的信息。在这项工作中,我们在xml文本表示上使用了一组上下文化源转换,以揭示模型的隐藏层次结构,并将行为交互颗粒化为会话单元。然后,我们改编了NiCad,一个差一点的代码克隆检测工具,来帮助我们识别逆向工程行为模型中的会话克隆。
{"title":"An approach to clone detection in behavioural models","authors":"Elizabeth P. Antony, Manar H. Alalfi, J. Cordy","doi":"10.1109/WCRE.2013.6671325","DOIUrl":"https://doi.org/10.1109/WCRE.2013.6671325","url":null,"abstract":"In this paper we present an approach for identifying near-miss interaction clones in reverse-engineered UML behavioural models. Our goal is to identify patterns of interaction (“conversations”) that can be used to characterize and abstract the run-time behaviour of web applications and other interactive systems. In order to leverage robust near-miss code clone technology, our approach is text-based, working on the level of XMI, the standard interchange serialization for UML. Behavioural model clone detection presents several challenges - first, it is not clear how to break a continuous stream of interaction between lifelines into meaningful conversational units. Second, unlike programming languages, the XMI text representation for UML is highly non-local, using attributes to reference information in the model file remotely. In this work we use a set of contextualizing source transformations on the XMI text representation to reveal the hidden hierarchical structure of the model and granularize behavioural interactions into conversational units. Then we adapt NiCad, a near-miss code clone detection tool, to help us identify conversational clones in reverse-engineered behavioural models.","PeriodicalId":275092,"journal":{"name":"2013 20th Working Conference on Reverse Engineering (WCRE)","volume":"65 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133266438","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}
引用次数: 22
Accurate developer recommendation for bug resolution 针对bug解决的准确开发人员建议
Pub Date : 2013-10-01 DOI: 10.1109/WCRE.2013.6671282
Xin Xia, D. Lo, Xinyu Wang, Bo Zhou
Bug resolution refers to the activity that developers perform to diagnose, fix, test, and document bugs during software development and maintenance. It is a collaborative activity among developers who contribute their knowledge, ideas, and expertise to resolve bugs. Given a bug report, we would like to recommend the set of bug resolvers that could potentially contribute their knowledge to fix it. We refer to this problem as developer recommendation for bug resolution. In this paper, we propose a new and accurate method named DevRec for the developer recommendation problem. DevRec is a composite method which performs two kinds of analysis: bug reports based analysis (BR-Based analysis), and developer based analysis (D-Based analysis). In the BR-Based analysis, we characterize a new bug report based on past bug reports that are similar to it. Appropriate developers of the new bug report are found by investigating the developers of similar bug reports appearing in the past. In the D-Based analysis, we compute the affinity of each developer to a bug report based on the characteristics of bug reports that have been fixed by the developer before. This affinity is then used to find a set of developers that are “close” to a new bug report. We evaluate our solution on 5 large bug report datasets including GCC, OpenOffice, Mozilla, Netbeans, and Eclipse containing a total of 107,875 bug reports. We show that DevRec could achieve recall@5 and recall@10 scores of 0.4826-0.7989, and 0.6063-0.8924, respectively. We also compare DevRec with other state-of-art methods, such as Bugzie and DREX. The results show that DevRec on average improves recall@5 and recall@10 scores of Bugzie by 57.55% and 39.39% respectively. DevRec also outperforms DREX by improving the average recall@5 and recall@10 scores by 165.38% and 89.36%, respectively.
Bug解决是指开发人员在软件开发和维护期间诊断、修复、测试和记录Bug的活动。它是开发人员之间的协作活动,他们贡献自己的知识、想法和专业知识来解决bug。给定一个错误报告,我们想要推荐一组可能贡献他们的知识来修复它的错误解决者。我们将此问题称为解决bug的开发人员建议。本文针对开发者推荐问题,提出了一种新的、准确的DevRec方法。DevRec是一种复合方法,它执行两种分析:基于bug报告的分析(BR-Based analysis)和基于开发者的分析(D-Based analysis)。在基于br的分析中,我们根据与之相似的过去的错误报告来描述新的错误报告。通过调查过去出现的类似错误报告的开发人员,可以找到新错误报告的合适开发人员。在基于d的分析中,我们根据开发人员之前修复过的错误报告的特征计算每个开发人员与错误报告的亲缘关系。然后使用这种关联来找到一组与新bug报告“接近”的开发人员。我们在5个大型bug报告数据集上评估我们的解决方案,包括GCC、OpenOffice、Mozilla、Netbeans和Eclipse,总共包含107,875个bug报告。我们发现,DevRec的recall@5和recall@10得分分别为0.4826-0.7989和0.6063-0.8924。我们还将DevRec与其他最先进的方法(如Bugzie和DREX)进行比较。结果表明,DevRec平均提高了Bugzie的recall@5和recall@10分数,分别提高了57.55%和39.39%。此外,DevRec还将recall@5和recall@10的平均分分别提高了165.38%和89.36%,优于DREX。
{"title":"Accurate developer recommendation for bug resolution","authors":"Xin Xia, D. Lo, Xinyu Wang, Bo Zhou","doi":"10.1109/WCRE.2013.6671282","DOIUrl":"https://doi.org/10.1109/WCRE.2013.6671282","url":null,"abstract":"Bug resolution refers to the activity that developers perform to diagnose, fix, test, and document bugs during software development and maintenance. It is a collaborative activity among developers who contribute their knowledge, ideas, and expertise to resolve bugs. Given a bug report, we would like to recommend the set of bug resolvers that could potentially contribute their knowledge to fix it. We refer to this problem as developer recommendation for bug resolution. In this paper, we propose a new and accurate method named DevRec for the developer recommendation problem. DevRec is a composite method which performs two kinds of analysis: bug reports based analysis (BR-Based analysis), and developer based analysis (D-Based analysis). In the BR-Based analysis, we characterize a new bug report based on past bug reports that are similar to it. Appropriate developers of the new bug report are found by investigating the developers of similar bug reports appearing in the past. In the D-Based analysis, we compute the affinity of each developer to a bug report based on the characteristics of bug reports that have been fixed by the developer before. This affinity is then used to find a set of developers that are “close” to a new bug report. We evaluate our solution on 5 large bug report datasets including GCC, OpenOffice, Mozilla, Netbeans, and Eclipse containing a total of 107,875 bug reports. We show that DevRec could achieve recall@5 and recall@10 scores of 0.4826-0.7989, and 0.6063-0.8924, respectively. We also compare DevRec with other state-of-art methods, such as Bugzie and DREX. The results show that DevRec on average improves recall@5 and recall@10 scores of Bugzie by 57.55% and 39.39% respectively. DevRec also outperforms DREX by improving the average recall@5 and recall@10 scores by 165.38% and 89.36%, respectively.","PeriodicalId":275092,"journal":{"name":"2013 20th Working Conference on Reverse Engineering (WCRE)","volume":"40 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132519767","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}
引用次数: 132
Assessing the complexity of upgrading software modules 评估软件模块升级的复杂性
Pub Date : 2013-10-01 DOI: 10.1109/WCRE.2013.6671319
B. Schoenmakers, N. V. D. Broek, I. Nagy, Bogdan Vasilescu, Alexander Serebrenik
Modern software development frequently involves developing multiple codelines simultaneously. Improvements to one codeline should often be applied to other codelines as well, which is typically a time consuming and error-prone process. In order to reduce this (manual) effort, changes are applied to the system's modules and those affected modules are upgraded on the target system. This is a more coarse-grained approach than upgrading the affected files only. However, when a module is upgraded, one must make sure that all its dependencies are still satisfied. This paper proposes an approach to assess the ease of upgrading a software system. An algorithm was developed to compute the smallest set of upgrade dependencies, given the current version of a module and the version it has to be upgraded to. Furthermore, a visualization has been designed to explain why upgrading one module requires upgrading many additional modules. A case study has been performed at ASML to study the ease of upgrading the TwinScan software. The analysis shows that removing elements from interfaces leads to many additional upgrade dependencies. Moreover, based on our analysis we have formulated a number improvement suggestions such as a clear separation between the test code and the production code as well as an introduction of a structured process of symbols deprecation and removal.
现代软件开发经常涉及同时开发多个代码线。对一条代码线的改进通常也应该应用于其他代码线,这通常是一个耗时且容易出错的过程。为了减少这种(手工)工作,将更改应用到系统的模块,并在目标系统上升级那些受影响的模块。与仅升级受影响的文件相比,这是一种更粗粒度的方法。但是,当一个模块升级时,必须确保它的所有依赖项仍然得到满足。本文提出了一种评估软件系统升级难易程度的方法。在给定模块的当前版本和必须升级到的版本的情况下,开发了一种算法来计算最小的升级依赖集。此外,还设计了一个可视化来解释为什么升级一个模块需要升级许多其他模块。在ASML进行了一个案例研究,以研究升级TwinScan软件的便利性。分析表明,从接口中删除元素会导致许多额外的升级依赖关系。此外,基于我们的分析,我们已经制定了一些改进建议,例如测试代码和生产代码之间的明确分离,以及引入符号弃用和删除的结构化过程。
{"title":"Assessing the complexity of upgrading software modules","authors":"B. Schoenmakers, N. V. D. Broek, I. Nagy, Bogdan Vasilescu, Alexander Serebrenik","doi":"10.1109/WCRE.2013.6671319","DOIUrl":"https://doi.org/10.1109/WCRE.2013.6671319","url":null,"abstract":"Modern software development frequently involves developing multiple codelines simultaneously. Improvements to one codeline should often be applied to other codelines as well, which is typically a time consuming and error-prone process. In order to reduce this (manual) effort, changes are applied to the system's modules and those affected modules are upgraded on the target system. This is a more coarse-grained approach than upgrading the affected files only. However, when a module is upgraded, one must make sure that all its dependencies are still satisfied. This paper proposes an approach to assess the ease of upgrading a software system. An algorithm was developed to compute the smallest set of upgrade dependencies, given the current version of a module and the version it has to be upgraded to. Furthermore, a visualization has been designed to explain why upgrading one module requires upgrading many additional modules. A case study has been performed at ASML to study the ease of upgrading the TwinScan software. The analysis shows that removing elements from interfaces leads to many additional upgrade dependencies. Moreover, based on our analysis we have formulated a number improvement suggestions such as a clear separation between the test code and the production code as well as an introduction of a structured process of symbols deprecation and removal.","PeriodicalId":275092,"journal":{"name":"2013 20th Working Conference on Reverse Engineering (WCRE)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130717782","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
Has this bug been reported? 这个bug被报告了吗?
Pub Date : 2012-11-11 DOI: 10.1145/2393596.2393628
K. Liu, Hee Beng Kuan Tan, Hongyu Zhang
Bug reporting is essentially an uncoordinated process. The same bugs could be repeatedly reported because users or testers are unaware of previously reported bugs. As a result, extra time could be spent on bug triaging and fixing. In order to reduce redundant effort, it is important to provide bug reporters with the ability to search for previously reported bugs. The search functions provided by the existing bug tracking systems are using relatively simple ranking functions, which often produce unsatisfactory results. In this paper, we adopt Ranking SVM, a Learning to Rank technique to construct a ranking model for effective bug report search. We also propose to use the knowledge of Wikipedia to discover the semantic relations among words and documents. Given a user query, the constructed ranking model can search for relevant bug reports in a bug tracking system. Unlike related works on duplicate bug report detection, our approach retrieves existing bug reports based on short user queries, before the complete bug report is submitted. We perform evaluations on more than 16,340 Eclipse and Mozilla bug reports. The evaluation results show that the proposed approach can achieve better search results than the existing search functions provided by Bugzilla and Lucene. We believe our work can help users and testers locate potential relevant bug reports more precisely.
Bug报告本质上是一个不协调的过程。相同的错误可能会被重复报告,因为用户或测试人员不知道以前报告的错误。因此,可以将额外的时间花在错误分类和修复上。为了减少多余的工作,为bug报告者提供搜索先前报告的bug的能力是很重要的。现有的bug跟踪系统提供的搜索功能都是使用相对简单的排序功能,结果往往不尽如人意。在本文中,我们采用排序支持向量机,一种学习排序技术来构建一个有效的bug报告搜索排序模型。我们还建议使用维基百科的知识来发现单词和文档之间的语义关系。给定用户查询,构建的排序模型可以在bug跟踪系统中搜索到相关的bug报告。与重复错误报告检测的相关工作不同,我们的方法在提交完整的错误报告之前,基于简短的用户查询检索现有的错误报告。我们对超过16,340个Eclipse和Mozilla bug报告执行评估。评估结果表明,与现有的Bugzilla和Lucene提供的搜索功能相比,所提出的方法可以获得更好的搜索结果。我们相信我们的工作可以帮助用户和测试人员更精确地定位潜在的相关bug报告。
{"title":"Has this bug been reported?","authors":"K. Liu, Hee Beng Kuan Tan, Hongyu Zhang","doi":"10.1145/2393596.2393628","DOIUrl":"https://doi.org/10.1145/2393596.2393628","url":null,"abstract":"Bug reporting is essentially an uncoordinated process. The same bugs could be repeatedly reported because users or testers are unaware of previously reported bugs. As a result, extra time could be spent on bug triaging and fixing. In order to reduce redundant effort, it is important to provide bug reporters with the ability to search for previously reported bugs. The search functions provided by the existing bug tracking systems are using relatively simple ranking functions, which often produce unsatisfactory results. In this paper, we adopt Ranking SVM, a Learning to Rank technique to construct a ranking model for effective bug report search. We also propose to use the knowledge of Wikipedia to discover the semantic relations among words and documents. Given a user query, the constructed ranking model can search for relevant bug reports in a bug tracking system. Unlike related works on duplicate bug report detection, our approach retrieves existing bug reports based on short user queries, before the complete bug report is submitted. We perform evaluations on more than 16,340 Eclipse and Mozilla bug reports. The evaluation results show that the proposed approach can achieve better search results than the existing search functions provided by Bugzilla and Lucene. We believe our work can help users and testers locate potential relevant bug reports more precisely.","PeriodicalId":275092,"journal":{"name":"2013 20th Working Conference on Reverse Engineering (WCRE)","volume":"84 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-11-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114833724","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
An incremental update framework for efficient retrieval from software libraries for bug localization 一个增量更新框架,用于从软件库中有效检索bug定位
Pub Date : 1900-01-01 DOI: 10.1109/WCRE.2013.6671281
Shivani Rao, Henry Medeiros, A. Kak
Information Retrieval (IR) based bug localization techniques use a bug reports to query a software repository to retrieve relevant source files. These techniques index the source files in the software repository and train a model which is then queried for retrieval purposes. Much of the current research is focused on improving the retrieval effectiveness of these methods. However, little consideration has been given to the efficiency of such approaches for software repositories that are constantly evolving. As the software repository evolves, the index creation and model learning have to be repeated to ensure accuracy of retrieval for each new bug. In doing so, the query latency may be unreasonably high, and also, re-computing the index and the model for files that did not change is computationally redundant. We propose an incremental update framework to continuously update the index and the model using the changes made at each commit. We demonstrate that the same retrieval accuracy can be achieved but with a fraction of the time needed by current approaches. Our results are based on two basic IR modeling techniques - Vector Space Model (VSM) and Smoothed Unigram Model (SUM). The dataset we used in our validation experiments was created by tracking commit history of AspectJ and JodaTime software libraries over a span of 10 years.
基于信息检索(IR)的缺陷定位技术使用缺陷报告来查询软件存储库以检索相关的源文件。这些技术索引软件存储库中的源文件,并训练一个模型,然后为检索目的查询该模型。目前的研究主要集中在提高这些方法的检索效率上。然而,对于不断发展的软件存储库,很少考虑这种方法的效率。随着软件存储库的发展,必须重复索引创建和模型学习,以确保检索每个新错误的准确性。这样做,查询延迟可能会高得不合理,而且,为未更改的文件重新计算索引和模型在计算上是冗余的。我们提出了一个增量更新框架,使用每次提交时所做的更改来持续更新索引和模型。我们证明了相同的检索精度可以实现,但与目前的方法所需的时间的一小部分。我们的研究结果是基于两种基本的红外建模技术——向量空间模型(VSM)和平滑单格图模型(SUM)。我们在验证实验中使用的数据集是通过跟踪AspectJ和JodaTime软件库在10年内的提交历史创建的。
{"title":"An incremental update framework for efficient retrieval from software libraries for bug localization","authors":"Shivani Rao, Henry Medeiros, A. Kak","doi":"10.1109/WCRE.2013.6671281","DOIUrl":"https://doi.org/10.1109/WCRE.2013.6671281","url":null,"abstract":"Information Retrieval (IR) based bug localization techniques use a bug reports to query a software repository to retrieve relevant source files. These techniques index the source files in the software repository and train a model which is then queried for retrieval purposes. Much of the current research is focused on improving the retrieval effectiveness of these methods. However, little consideration has been given to the efficiency of such approaches for software repositories that are constantly evolving. As the software repository evolves, the index creation and model learning have to be repeated to ensure accuracy of retrieval for each new bug. In doing so, the query latency may be unreasonably high, and also, re-computing the index and the model for files that did not change is computationally redundant. We propose an incremental update framework to continuously update the index and the model using the changes made at each commit. We demonstrate that the same retrieval accuracy can be achieved but with a fraction of the time needed by current approaches. Our results are based on two basic IR modeling techniques - Vector Space Model (VSM) and Smoothed Unigram Model (SUM). The dataset we used in our validation experiments was created by tracking commit history of AspectJ and JodaTime software libraries over a span of 10 years.","PeriodicalId":275092,"journal":{"name":"2013 20th Working Conference on Reverse Engineering (WCRE)","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129995389","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 10
期刊
2013 20th Working Conference on Reverse Engineering (WCRE)
全部 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