首页> 外文OA文献 >Reverse Architecting: Automatic labelling of- Concerns in Reverse Engineered Software Systems
【2h】

Reverse Architecting: Automatic labelling of- Concerns in Reverse Engineered Software Systems

机译:逆向架构:逆向工程软件系统中的自动标注问题

摘要

A significantly large fraction of time during developmentand maintenance is spent on understanding unfamiliarparts of software systems. The existence of software documentation,such as software architecture design documentation cansignificantly reduce the amount of time spent on this task.However in reality, few software systems have an up-to-date documentationbecause project time pressure makes it impractical todo so. During comprehension therefore, software engineers oftentry to recover these lost design documentation through reverseengineering. However, current reverse engineered diagrams showonly one perspective of a software system; the components thatexist in the system and the relationship between them. Often,software engineers require additional perspectives in order tounderstand how a system works. In this research, we aim tosolve this problem by providing one such perspective on topof reverse engineered diagrams. We provide a framework andtool for automatically identifying common system concerns thatare found in modern software systems, and then map themback to the software components in the system that implementthem. An example of such system concerns are user interfaces,persistence, security etc. A regular question that comes upduring comprehension is which software components in a systemimplement these concerns. We propose a taxonomy of thesecommon concerns, and a framework and tool for automaticallyidentifying and labelling system components that implementthem. Our framework is based one lightweight static analysis. Itcalculates three metrics that are then used during identification.An evaluation of the Concern Detector tool (and in essence theframework) on 4 software systems showed that, authors of thesystems agreed 65.5% - 76.8% with the tool’s classification ofcomponents in their systems. This indicates that, the tool isuseful for describing the roles of these components in terms ofimplementing these concerns. The current implementation is forthe java programming language; however the approach is designedto be generalizable for most object oriented programminglanguages.
机译:在开发和维护期间,很大一部分时间都花在了理解软件系统的陌生部分上。软件文档(例如软件体系结构设计文档)的存在可以显着减少花费在此任务上的时间。然而,实际上,很少有软件系统拥有最新的文档,因为项目时间压力使其不切实际。因此,在理解过程中,软件工程师经常尝试通过反向工程来恢复这些丢失的设计文档。但是,当前的逆向工程图仅显示了软件系统的一个方面。系统中存在的组件及其之间的关系。通常,软件工程师需要其他观点才能理解系统的工作方式。在这项研究中,我们旨在通过在逆向工程图之上提供一个这样的视角来解决这个问题。我们提供了一种框架和工具,用于自动识别在现代软件系统中发现的常见系统问题,然后将其映射回实现它们的系统中的软件组件。这样的系统问题的一个例子是用户界面,持久性,安全性等。理解过程中经常遇到的问题是系统中的哪些软件组件实现了这些问题。我们提出了这些常见问题的分类法,以及用于自动识别和标记实现这些问题的系统组件的框架和工具。我们的框架基于一种轻量级的静态分析。它计算了在识别过程中使用的三个指标。对4个软件系统上的“关注检测器”工具(实质上是框架)的评估表明,系统的作者同意工具中其系统组件的分类为65.5%-76.8%。这表明,该工具可用于描述这些组件在实现这些问题方面的作用。当前的实现是针对Java编程语言的。但是,该方法被设计为可用于大多数面向对象的编程语言。

著录项

  • 作者

    Andam Berima K.;

  • 作者单位
  • 年度 2015
  • 总页数
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类

相似文献

  • 外文文献
  • 中文文献
  • 专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号