首页 > 最新文献

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

英文 中文
Concern Localization using Information Retrieval: An Empirical Study on Linux Kernel 基于信息检索的关注定位:基于Linux内核的实证研究
Pub Date : 2011-10-17 DOI: 10.1109/WCRE.2011.72
Shaowei Wang, D. Lo, Zhenchang Xing, Lingxiao Jiang
Many software maintenance activities need to find code units (functions, files, etc.) that implement a certain concern (features, bugs, etc.). To facilitate such activities, many approaches have been proposed to automatically link code units with concerns described in natural languages, which are termed as concern localization and often employ Information Retrieval (IR) techniques. There has not been a study that evaluates and compares the effectiveness of latest IR techniques on a large dataset. This study fills this gap by investigating ten IR techniques, some of which are new and have not been used for concern localization, on a Linux kernel dataset. The Linux kernel dataset contains more than 1,500 concerns that are linked to over 85,000 C functions. We have evaluated the effectiveness of the ten techniques on recovering the links between the concerns and the implementing functions and ranked the IR techniques based on their precisions on concern localization. Keywords-concern localization; information retrieval; Linux kernel; mean average precision;
许多软件维护活动需要找到实现特定关注点(特性、缺陷等)的代码单元(函数、文件等)。为了促进这样的活动,已经提出了许多方法来自动地将代码单元与用自然语言描述的关注联系起来,这些方法被称为关注本地化,并且通常使用信息检索(Information Retrieval, IR)技术。目前还没有一项研究对大型数据集上最新红外技术的有效性进行评估和比较。本研究通过在Linux内核数据集上调查10种IR技术来填补这一空白,其中一些是新的,尚未用于关注点本地化。Linux内核数据集包含超过1,500个关注点,这些关注点与85,000多个C函数相关联。我们评估了十种技术在恢复关注点和实现功能之间的联系方面的有效性,并根据它们在关注点定位方面的精度对IR技术进行了排名。Keywords-concern本地化;信息检索;Linux内核;平均精度;
{"title":"Concern Localization using Information Retrieval: An Empirical Study on Linux Kernel","authors":"Shaowei Wang, D. Lo, Zhenchang Xing, Lingxiao Jiang","doi":"10.1109/WCRE.2011.72","DOIUrl":"https://doi.org/10.1109/WCRE.2011.72","url":null,"abstract":"Many software maintenance activities need to find code units (functions, files, etc.) that implement a certain concern (features, bugs, etc.). To facilitate such activities, many approaches have been proposed to automatically link code units with concerns described in natural languages, which are termed as concern localization and often employ Information Retrieval (IR) techniques. There has not been a study that evaluates and compares the effectiveness of latest IR techniques on a large dataset. This study fills this gap by investigating ten IR techniques, some of which are new and have not been used for concern localization, on a Linux kernel dataset. The Linux kernel dataset contains more than 1,500 concerns that are linked to over 85,000 C functions. We have evaluated the effectiveness of the ten techniques on recovering the links between the concerns and the implementing functions and ranked the IR techniques based on their precisions on concern localization. Keywords-concern localization; information retrieval; Linux kernel; mean average precision;","PeriodicalId":350863,"journal":{"name":"2011 18th Working Conference on Reverse Engineering","volume":"49 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":"131009516","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}
引用次数: 53
Precise Static Analysis of Binaries by Extracting Relational Information 基于关系信息提取的二进制文件精确静态分析
Pub Date : 2011-10-17 DOI: 10.1109/WCRE.2011.50
Alexander Sepp, B. Mihaila, A. Simon
While the reconstruction of the control-flow graph of a binary has received wide attention, the challenge of categorizing code into defect-free and possibly incorrect remains a challenge for current static analyses. We present the intermediate language RREIL and a corresponding analysis framework that is able to infer precise numeric information on variables without resorting to an expensive analysis at the bit-level. Specifically, we propose a hierarchy of three interfaces to abstract domains, namely for inferring memory layout, bit-level information and numeric information. Our framework can be easily enriched with new abstract domains at each level. We demonstrate the extensibility of our framework by detailing a novel acceleration technique (a so-called widening) as an abstract domain that helps to find precise fix points of loops.
虽然二进制文件的控制流图的重建受到了广泛的关注,但将代码分类为无缺陷和可能不正确的代码仍然是当前静态分析的一个挑战。我们提出了中间语言RREIL和相应的分析框架,该框架能够推断变量的精确数字信息,而无需诉诸于昂贵的位级分析。具体来说,我们提出了三个抽象域的层次结构接口,分别用于推断存储器布局、位级信息和数字信息。我们的框架可以很容易地在每个级别上添加新的抽象域。我们通过将一种新的加速技术(所谓的扩展)作为一个抽象域来详细说明框架的可扩展性,该技术有助于找到环路的精确不动点。
{"title":"Precise Static Analysis of Binaries by Extracting Relational Information","authors":"Alexander Sepp, B. Mihaila, A. Simon","doi":"10.1109/WCRE.2011.50","DOIUrl":"https://doi.org/10.1109/WCRE.2011.50","url":null,"abstract":"While the reconstruction of the control-flow graph of a binary has received wide attention, the challenge of categorizing code into defect-free and possibly incorrect remains a challenge for current static analyses. We present the intermediate language RREIL and a corresponding analysis framework that is able to infer precise numeric information on variables without resorting to an expensive analysis at the bit-level. Specifically, we propose a hierarchy of three interfaces to abstract domains, namely for inferring memory layout, bit-level information and numeric information. Our framework can be easily enriched with new abstract domains at each level. We demonstrate the extensibility of our framework by detailing a novel acceleration technique (a so-called widening) as an abstract domain that helps to find precise fix points of loops.","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":"125591374","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
Requirements Traceability for Object Oriented Systems by Partitioning Source Code 通过划分源代码实现面向对象系统的需求可追溯性
Pub Date : 2011-10-17 DOI: 10.1109/WCRE.2011.16
Nasir Ali, Yann-Gaël Guéhéneuc, G. Antoniol
Requirements trace ability ensures that source code is consistent with documentation and that all requirements have been implemented. During software evolution, features are added, removed, or modified, the code drifts away from its original requirements. Thus trace ability recovery approaches becomes necessary to re-establish the trace ability relations between requirements and source code. This paper presents an approach (Coparvo) complementary to existing trace ability recovery approaches for object-oriented programs. Coparvo reduces false positive links recovered by traditional trace ability recovery processes thus reducing the manual validation effort. Coparvo assumes that information extracted from different entities (i.e., class names, comments, class variables, or methods signatures) are different information sources, they may have different level of reliability in requirements trace ability and each information source may act as a different expert recommending trace ability links. We applied Coparvo on three data sets, Pooka, SIP Communicator, and iTrust, to filter out false positive links recovered via the information retrieval approach, i.e., vector space model. The results show that Coparvo significantly improves the of the recovered links accuracy and also reduces up to 83% effort required to manually remove false positive links.
需求跟踪能力确保源代码与文档一致,并且所有需求都已实现。在软件发展过程中,特性被添加、删除或修改,代码偏离了最初的需求。因此,跟踪能力恢复方法对于重新建立需求和源代码之间的跟踪能力关系是必要的。本文提出了一种方法(Coparvo),以补充现有的面向对象程序的跟踪能力恢复方法。Coparvo减少了由传统追踪能力恢复过程恢复的假阳性链接,从而减少了人工验证的工作量。Coparvo假设从不同实体(即类名、注释、类变量或方法签名)中提取的信息是不同的信息源,它们在需求跟踪能力中可能具有不同级别的可靠性,并且每个信息源可能充当推荐跟踪能力链接的不同专家。我们在Pooka、SIP Communicator和iTrust三个数据集上应用Coparvo来过滤通过信息检索方法(即向量空间模型)恢复的假阳性链接。结果表明,Coparvo显著提高了恢复链接的准确性,并减少了手动删除假阳性链接所需的83%的工作量。
{"title":"Requirements Traceability for Object Oriented Systems by Partitioning Source Code","authors":"Nasir Ali, Yann-Gaël Guéhéneuc, G. Antoniol","doi":"10.1109/WCRE.2011.16","DOIUrl":"https://doi.org/10.1109/WCRE.2011.16","url":null,"abstract":"Requirements trace ability ensures that source code is consistent with documentation and that all requirements have been implemented. During software evolution, features are added, removed, or modified, the code drifts away from its original requirements. Thus trace ability recovery approaches becomes necessary to re-establish the trace ability relations between requirements and source code. This paper presents an approach (Coparvo) complementary to existing trace ability recovery approaches for object-oriented programs. Coparvo reduces false positive links recovered by traditional trace ability recovery processes thus reducing the manual validation effort. Coparvo assumes that information extracted from different entities (i.e., class names, comments, class variables, or methods signatures) are different information sources, they may have different level of reliability in requirements trace ability and each information source may act as a different expert recommending trace ability links. We applied Coparvo on three data sets, Pooka, SIP Communicator, and iTrust, to filter out false positive links recovered via the information retrieval approach, i.e., vector space model. The results show that Coparvo significantly improves the of the recovered links accuracy and also reduces up to 83% effort required to manually remove false positive links.","PeriodicalId":350863,"journal":{"name":"2011 18th Working Conference on Reverse Engineering","volume":"131 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":"132508505","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
SmartDec: Approaching C++ Decompilation SmartDec:接近c++反编译
Pub Date : 2011-10-17 DOI: 10.1109/WCRE.2011.49
A. Fokin, Egor Derevenetc, A. Chernov, K. Troshina
Decompilation is a reconstruction of a program in a high-level language from a program in a low-level language. Typical applications of decompilation are software security assessment, malware analysis, error correction and reverse engineering for interoperability. Native code decompilation is traditionally considered in the context of the C programming language. C++ presents new challenges for decompilation, since the rules of translation from C++ to assembly language are far more complex than those of C. In addition, when decompiling a program that was originally written in C++, reconstruction of C++ specific constructs is desired. In this paper we discuss new methods that allow partial recovery of C++ specific language constructs from a low-level code provided that this code was obtained from a C++ compiler. The challenges that arise when decompiling such code are described. These challenges include reconstruction of polymorphic classes, class hierarchies, member functions and exception handling constructs. An approach to decompilation that is used to overcome these challenges is presented. Smart Dec, a native code to C++ decompiler that is being developed by the authors at Select LTD is presented. It reconstructs expressions, function arguments, local and global variables, integral and composite types, loops and compound conditional statements, C++ class hierarchies and exception handling constructs. An empirical study of the decompiler is provided.
反编译是用高级语言从低级语言的程序中重建一个程序。反编译的典型应用是软件安全评估、恶意软件分析、错误纠正和互操作性逆向工程。本地代码反编译通常被认为是在C编程语言的上下文中进行的。c++对反编译提出了新的挑战,因为从c++到汇编语言的翻译规则比C复杂得多。此外,当反编译最初用c++编写的程序时,需要重构c++特定的结构。在本文中,我们讨论了允许从低级代码中部分恢复c++特定语言结构的新方法,只要这些代码是从c++编译器中获得的。本文描述了反编译此类代码时出现的挑战。这些挑战包括重构多态类、类层次结构、成员函数和异常处理构造。提出了一种用于克服这些挑战的反编译方法。介绍了由Select LTD的作者正在开发的本机代码到c++的反编译器Smart Dec。它可以重构表达式、函数参数、局部变量和全局变量、整型和复合型、循环和复合条件语句、c++类层次结构和异常处理结构。对反编译器进行了实证研究。
{"title":"SmartDec: Approaching C++ Decompilation","authors":"A. Fokin, Egor Derevenetc, A. Chernov, K. Troshina","doi":"10.1109/WCRE.2011.49","DOIUrl":"https://doi.org/10.1109/WCRE.2011.49","url":null,"abstract":"Decompilation is a reconstruction of a program in a high-level language from a program in a low-level language. Typical applications of decompilation are software security assessment, malware analysis, error correction and reverse engineering for interoperability. Native code decompilation is traditionally considered in the context of the C programming language. C++ presents new challenges for decompilation, since the rules of translation from C++ to assembly language are far more complex than those of C. In addition, when decompiling a program that was originally written in C++, reconstruction of C++ specific constructs is desired. In this paper we discuss new methods that allow partial recovery of C++ specific language constructs from a low-level code provided that this code was obtained from a C++ compiler. The challenges that arise when decompiling such code are described. These challenges include reconstruction of polymorphic classes, class hierarchies, member functions and exception handling constructs. An approach to decompilation that is used to overcome these challenges is presented. Smart Dec, a native code to C++ decompiler that is being developed by the authors at Select LTD is presented. It reconstructs expressions, function arguments, local and global variables, integral and composite types, loops and compound conditional statements, C++ class hierarchies and exception handling constructs. An empirical study of the decompiler is provided.","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":"130427038","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}
引用次数: 50
An Investigation into the Impact of Software Licenses on Copy-and-paste Reuse among OSS Projects 软件许可证对OSS项目中复制粘贴重用的影响研究
Pub Date : 2011-10-17 DOI: 10.1109/WCRE.2011.14
Yu Kashima, Yasuhiro Hayase, Norihiro Yoshida, Yuki Manabe, Katsuro Inoue
Because licensing an open source software (OSS) product restricts its reuse, the developer of the product has to consider the impact on reuse when choosing the license. However, to the best of our knowledge, there are no quantitative studies on the impact of software licenses on software reuse. To identify the impact, this paper presents a quantitative investigation into the relationship between the software license and copy-and-paste reuse on actual OSS products. The results show that the license of a product affects the frequency of reuse. On the other hand, copy-and-paste reuse occurs mostly in the source files distributed under the same license.
由于开放源码软件(OSS)产品的许可限制了其重用,因此产品的开发人员在选择许可时必须考虑对重用的影响。然而,据我们所知,目前还没有关于软件许可对软件重用影响的定量研究。为了确定这种影响,本文对实际OSS产品上的软件许可证和复制粘贴重用之间的关系进行了定量调查。结果表明,产品的许可会影响产品的重复使用频率。另一方面,复制粘贴重用主要发生在以相同许可证分发的源文件中。
{"title":"An Investigation into the Impact of Software Licenses on Copy-and-paste Reuse among OSS Projects","authors":"Yu Kashima, Yasuhiro Hayase, Norihiro Yoshida, Yuki Manabe, Katsuro Inoue","doi":"10.1109/WCRE.2011.14","DOIUrl":"https://doi.org/10.1109/WCRE.2011.14","url":null,"abstract":"Because licensing an open source software (OSS) product restricts its reuse, the developer of the product has to consider the impact on reuse when choosing the license. However, to the best of our knowledge, there are no quantitative studies on the impact of software licenses on software reuse. To identify the impact, this paper presents a quantitative investigation into the relationship between the software license and copy-and-paste reuse on actual OSS products. The results show that the license of a product affects the frequency of reuse. On the other hand, copy-and-paste reuse occurs mostly in the source files distributed under the same license.","PeriodicalId":350863,"journal":{"name":"2011 18th Working Conference on Reverse Engineering","volume":"15 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":"133190297","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
An Exploratory Study of Software Reverse Engineering in a Security Context 安全环境下软件逆向工程的探索性研究
Pub Date : 2011-10-17 DOI: 10.1109/WCRE.2011.30
Christoph Treude, Fernando Marques Figueira Filho, M. Storey, M. Salois
Illegal cyberspace activities are increasing rapidly and many software engineers are using reverse engineering methods to respond to attacks. The security-sensitive nature of these tasks, such as the understanding of malware or the decryption of encrypted content, brings unique challenges to reverse engineering: work has to be done offline, files can rarely be shared, time pressure is immense, and there is a lack of tool and process support for capturing and sharing the knowledge obtained while trying to understand plain assembly code. To help us gain an understanding of this reverse engineering work, we report on an exploratory study done in a security context at a research and development government organization to explore their work processes, tools, and artifacts. In this paper, we identify challenges, such as the management and navigation of a myriad of artifacts, and we conclude by offering suggestions for tool and process improvements.
非法网络活动正在迅速增加,许多软件工程师正在使用逆向工程方法来应对攻击。这些任务的安全敏感性质,例如理解恶意软件或解密加密内容,给逆向工程带来了独特的挑战:工作必须离线完成,文件很少可以共享,时间压力巨大,并且缺乏工具和流程支持来捕获和共享在试图理解普通汇编代码时获得的知识。为了帮助我们理解这种逆向工程工作,我们报告了在研究和开发政府组织的安全上下文中完成的探索性研究,以探索他们的工作过程、工具和工件。在本文中,我们确定了挑战,例如无数工件的管理和导航,并且我们通过提供工具和过程改进的建议来结束。
{"title":"An Exploratory Study of Software Reverse Engineering in a Security Context","authors":"Christoph Treude, Fernando Marques Figueira Filho, M. Storey, M. Salois","doi":"10.1109/WCRE.2011.30","DOIUrl":"https://doi.org/10.1109/WCRE.2011.30","url":null,"abstract":"Illegal cyberspace activities are increasing rapidly and many software engineers are using reverse engineering methods to respond to attacks. The security-sensitive nature of these tasks, such as the understanding of malware or the decryption of encrypted content, brings unique challenges to reverse engineering: work has to be done offline, files can rarely be shared, time pressure is immense, and there is a lack of tool and process support for capturing and sharing the knowledge obtained while trying to understand plain assembly code. To help us gain an understanding of this reverse engineering work, we report on an exploratory study done in a security context at a research and development government organization to explore their work processes, tools, and artifacts. In this paper, we identify challenges, such as the management and navigation of a myriad of artifacts, and we conclude by offering suggestions for tool and process improvements.","PeriodicalId":350863,"journal":{"name":"2011 18th Working Conference on Reverse Engineering","volume":"12 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":"114876417","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
Analyzing the Source Code of Multiple Software Variants for Reuse Potential 多软件变体源代码重用潜力分析
Pub Date : 2011-10-17 DOI: 10.1109/WCRE.2011.44
Slawomir Duszynski, J. Knodel, Martin Becker
Software reuse approaches, such as software product lines, can help to achieve considerable effort and cost savings when developing families of software systems with a significant overlap in functionality. In practice, however, the need for strategic reuse often becomes apparent only after a number of product variants have already been delivered. Hence, a reuse approach has to be introduced afterwards. To plan for such a reuse introduction, it is crucial to have precise information about the distribution of commonality and variability in the source code of each system variant. However, this information is often not available because each variant has evolved independently over time and the source code does not exhibit explicit variation points. In this paper, we present Variant Analysis, a scalable reverse engineering technique that aims at delivering exactly this information. It supports simultaneous analysis of multiple source code variants and enables easy interpretation of the analysis results. We demonstrate the technique by applying it to a large industrial software system with four variants.
软件重用方法,例如软件产品线,在开发具有重要功能重叠的软件系统系列时,可以帮助实现相当大的工作量和成本节约。然而,在实践中,战略重用的需求通常只有在已经交付了许多产品变体之后才变得明显。因此,必须在之后引入重用方法。为了计划这样的重用引入,在每个系统变体的源代码中拥有关于共性和可变性分布的精确信息是至关重要的。然而,这些信息通常是不可用的,因为每个变体都是随着时间独立发展的,并且源代码没有显示出明确的变化点。在本文中,我们提出了变体分析,这是一种可扩展的逆向工程技术,旨在准确地传递这些信息。它支持对多个源代码变体的同时分析,并支持对分析结果的简单解释。我们通过将其应用于具有四个变体的大型工业软件系统来演示该技术。
{"title":"Analyzing the Source Code of Multiple Software Variants for Reuse Potential","authors":"Slawomir Duszynski, J. Knodel, Martin Becker","doi":"10.1109/WCRE.2011.44","DOIUrl":"https://doi.org/10.1109/WCRE.2011.44","url":null,"abstract":"Software reuse approaches, such as software product lines, can help to achieve considerable effort and cost savings when developing families of software systems with a significant overlap in functionality. In practice, however, the need for strategic reuse often becomes apparent only after a number of product variants have already been delivered. Hence, a reuse approach has to be introduced afterwards. To plan for such a reuse introduction, it is crucial to have precise information about the distribution of commonality and variability in the source code of each system variant. However, this information is often not available because each variant has evolved independently over time and the source code does not exhibit explicit variation points. In this paper, we present Variant Analysis, a scalable reverse engineering technique that aims at delivering exactly this information. It supports simultaneous analysis of multiple source code variants and enables easy interpretation of the analysis results. We demonstrate the technique by applying it to a large industrial software system with four variants.","PeriodicalId":350863,"journal":{"name":"2011 18th Working Conference on Reverse Engineering","volume":"209 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":"115089043","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}
引用次数: 76
Understanding Legacy Features with Featureous 用feature理解遗留特性
Pub Date : 2011-10-17 DOI: 10.1109/WCRE.2011.64
Andrzej Olszak, B. Jørgensen
Feature-centric comprehension of source code is essential during software evolution. However, such comprehension is oftentimes difficult to achieve due the lack of correspondence between functional features and structural units of object-oriented programs. We present a tool for feature-centric analysis of legacy Java programs called Feature us that addresses this issue. Feature us allows a programmer to easily establish feature-code trace ability links and to analyze their characteristics using a number of visualizations. Feature us is an extension to the Net Beans IDE, and can itself be extended by third-party plugins.
在软件发展过程中,以特性为中心的源代码理解是必不可少的。然而,由于面向对象程序的功能特征和结构单元之间缺乏对应关系,这种理解通常很难实现。为了解决这个问题,我们提供了一个工具,用于对遗留Java程序进行以特性为中心的分析,称为Feature us。Feature us允许程序员轻松地建立功能代码跟踪能力链接,并使用许多可视化来分析它们的特征。Feature us是Net Beans IDE的扩展,它本身可以被第三方插件扩展。
{"title":"Understanding Legacy Features with Featureous","authors":"Andrzej Olszak, B. Jørgensen","doi":"10.1109/WCRE.2011.64","DOIUrl":"https://doi.org/10.1109/WCRE.2011.64","url":null,"abstract":"Feature-centric comprehension of source code is essential during software evolution. However, such comprehension is oftentimes difficult to achieve due the lack of correspondence between functional features and structural units of object-oriented programs. We present a tool for feature-centric analysis of legacy Java programs called Feature us that addresses this issue. Feature us allows a programmer to easily establish feature-code trace ability links and to analyze their characteristics using a number of visualizations. Feature us is an extension to the Net Beans IDE, and can itself be extended by third-party plugins.","PeriodicalId":350863,"journal":{"name":"2011 18th Working Conference on Reverse Engineering","volume":"24 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":"127608853","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
Useful, But Usable? Factors Affecting the Usability of APIs 有用,但可用?影响api可用性的因素
Pub Date : 2011-10-17 DOI: 10.1109/WCRE.2011.26
M. Zibran, Farjana Z. Eishita, C. Roy
Software development today has been largely dependent on the use of API libraries, frameworks, and reusable components. However, the API usability issues often increase the development cost (e.g., time, effort) and lower code quality. In this regard, we study 1,513 bug-posts across five different bug repositories, using both qualitative and quantitative analysis. We identify the API usability issues that are reflected in the bug-posts from the API users, and distinguish relative significance of the usability factors. Moreover, from the lessons learned by manual investigation of the bug-posts, we provide further insight into the most frequent API usability issues.
今天的软件开发很大程度上依赖于API库、框架和可重用组件的使用。然而,API可用性问题通常会增加开发成本(例如,时间和精力)并降低代码质量。在这方面,我们研究了5个不同bug库中的1513个bug帖子,使用了定性和定量分析。我们识别了API用户在bug中反映的API可用性问题,并区分了可用性因素的相对重要性。此外,从手工调查bug帖子中获得的经验教训,我们提供了对最常见的API可用性问题的进一步了解。
{"title":"Useful, But Usable? Factors Affecting the Usability of APIs","authors":"M. Zibran, Farjana Z. Eishita, C. Roy","doi":"10.1109/WCRE.2011.26","DOIUrl":"https://doi.org/10.1109/WCRE.2011.26","url":null,"abstract":"Software development today has been largely dependent on the use of API libraries, frameworks, and reusable components. However, the API usability issues often increase the development cost (e.g., time, effort) and lower code quality. In this regard, we study 1,513 bug-posts across five different bug repositories, using both qualitative and quantitative analysis. We identify the API usability issues that are reflected in the bug-posts from the API users, and distinguish relative significance of the usability factors. Moreover, from the lessons learned by manual investigation of the bug-posts, we provide further insight into the most frequent API usability issues.","PeriodicalId":350863,"journal":{"name":"2011 18th Working Conference on Reverse Engineering","volume":"43 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":"128372301","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}
引用次数: 81
Monitoring Software Quality Evolution by Analyzing Deviation Trends of Modularity Views 通过分析模块化视图的偏差趋势来监控软件质量演变
Pub Date : 2011-10-17 DOI: 10.1109/WCRE.2011.35
Tianmei Zhu, Yijian Wu, Xin Peng, Zhenchang Xing, Wenyun Zhao
In the long-term evolution of software systems, various maintenance activities such as functionality extension, bug fixing, refactoring may positively or negatively affect the quality of design and implementation. The trend of quality degradation caused by negative affections may accumulate and cause serious difficulties for future maintenance of the software if they were not addressed properly in time. In this paper, we propose an approach for monitoring the degradation trends of software design in evolution and providing useful feedbacks for evolution decisions. The approach is based on the assumption that the deviations between different modularity views and their trends in evolution can be used to monitor the degradation trends of design. Currently, our approach considers three modularity views, namely package view, structural cluster view and semantic cluster view. Package view denotes the package structure reflecting the desired modularity view, Structural cluster view and semantic cluster view are the modularity views extracted from implementation by software clustering based on formal information and non-formal information, respectively. Then based on the three modularity views extracted from each version, our approach calculates the similarity between different views as the measurement of modularity deviations, and analyzes the deviation trends over a series of versions. We conduct an empirical study on three open-source systems, which confirms that continuous monitoring of deviation trends of modularity views can provide useful feedbacks for future evolution decisions.
在软件系统的长期发展过程中,各种维护活动(如功能扩展、bug修复、重构)可能会对设计和实现的质量产生积极或消极的影响。负面影响导致的质量下降趋势如果不及时处理,可能会积累起来,给软件的未来维护带来严重的困难。本文提出了一种监测软件设计在进化过程中的退化趋势并为进化决策提供有用反馈的方法。该方法基于一个假设,即不同模块化视图之间的偏差及其演化趋势可以用来监测设计的退化趋势。目前,我们的方法考虑了三种模块化视图,即包视图、结构集群视图和语义集群视图。包视图是反映期望模块化视图的包结构,结构集群视图和语义集群视图分别是基于正式信息和非正式信息通过软件聚类从实现中提取的模块化视图。然后,基于从每个版本中提取的三个模块化视图,计算不同视图之间的相似性作为模块化偏差的度量,并分析一系列版本的偏差趋势。我们对三个开源系统进行了实证研究,证实了对模块化视图偏差趋势的持续监测可以为未来的进化决策提供有用的反馈。
{"title":"Monitoring Software Quality Evolution by Analyzing Deviation Trends of Modularity Views","authors":"Tianmei Zhu, Yijian Wu, Xin Peng, Zhenchang Xing, Wenyun Zhao","doi":"10.1109/WCRE.2011.35","DOIUrl":"https://doi.org/10.1109/WCRE.2011.35","url":null,"abstract":"In the long-term evolution of software systems, various maintenance activities such as functionality extension, bug fixing, refactoring may positively or negatively affect the quality of design and implementation. The trend of quality degradation caused by negative affections may accumulate and cause serious difficulties for future maintenance of the software if they were not addressed properly in time. In this paper, we propose an approach for monitoring the degradation trends of software design in evolution and providing useful feedbacks for evolution decisions. The approach is based on the assumption that the deviations between different modularity views and their trends in evolution can be used to monitor the degradation trends of design. Currently, our approach considers three modularity views, namely package view, structural cluster view and semantic cluster view. Package view denotes the package structure reflecting the desired modularity view, Structural cluster view and semantic cluster view are the modularity views extracted from implementation by software clustering based on formal information and non-formal information, respectively. Then based on the three modularity views extracted from each version, our approach calculates the similarity between different views as the measurement of modularity deviations, and analyzes the deviation trends over a series of versions. We conduct an empirical study on three open-source systems, which confirms that continuous monitoring of deviation trends of modularity views can provide useful feedbacks for future evolution decisions.","PeriodicalId":350863,"journal":{"name":"2011 18th Working Conference on Reverse Engineering","volume":"12 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":"134369510","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
期刊
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