首页> 外文学位 >Building reverse engineering tools with software components.
【24h】

Building reverse engineering tools with software components.

机译:使用软件组件构建逆向工程工具。

获取原文
获取原文并翻译 | 示例

摘要

This dissertation explores a new approach to construct tools in the domain of reverse engineering. The approach uses already available software components---such as off-the-shelf components and integrated development environments---as building blocks, combining and customizing them programmatically to realize the desired functional and non-functional requirements. This approach can be characterized as component-based tool-building, as opposed to traditional tool-building, which typically develops most of the tool's functionalities from scratch.; The dissertation focuses on research tools that are constructed in a university or research lab (and then possibly evaluated in an industrial setting). Often the motivation to build a research tool is a proof-of-concept implementation. Tool-building is a necessary part of research---but it is a costly one. Traditional approaches to tool building have resulted in tools that have a high degree of custom code and exhibit little reuse. This approach offers the most flexibility, but can be costly and can result in highly idiosyncratic tools that are difficult to use. To compensate for the drawbacks of building tools from scratch, researchers have started to reuse existing functionality, leading towards an approach that leverages components as building blocks. However, this emerging approach is pursued in an ad hoc manner reminiscent of craftsmanship rather than professional engineering.; The goal of this dissertation is to advance the current state of component-based tool-building towards a more disciplined, predictable approach. To achieve this goal, the dissertation first summarizes and evaluates relevant tool-building experiences and case studies, and then distills these into practical advice in the form of lessons learned, and a process framework for tool builders to follow.; The dissertation uniquely combines two areas, reverse engineering and software components. The former addresses the constructed tool's application domain, the latter forms the foundation of the tool-building approach. Since this dissertation mostly focuses on tools for reverse engineering, a thorough understanding of this application domain is necessary to elicit its requirements. This is accomplished with an in-depth literature survey, which synthesizes five major requirements. The elicited requirements are used as a yardstick for the evaluation of component-based tools and the proposed process framework. There are diverse kinds of software components that can be leveraged for component-based tool building. However, not all of these components are suitable for the proposed tool-building approach. To characterize the kinds of applicable components, the dissertation introduces a taxonomy to classify components. The taxonomy also makes it possible to reason about characteristics of components and how these characteristics affect the construction of tools.; This dissertation introduces a catalog of components that are applicable for the proposed tool-building approach in the reverse engineering domain. Furthermore, it provides a detailed account of several case studies that pursue component-based tool-building. Six of these case studies represent the author's own tool-building experiences. They have been performed over a period of five years within the Adoption-Centric Reverse Engineering project at the University of Victoria. These case studies, along with relevant experiences reported by other researchers, constitute a body of valuable tool-building knowledge. This knowledge base provides the foundation for this dissertation's two most important contributions. First, it distills the various experiences---the author's as well as others---into ten lessons learned. The lessons cover important requirements for tools as uncovered by the literature survey. Addressing these requirements promises to result in better tools that are more likely to meet the needs of tool users. Second, the dissertation proposes a suitable proc
机译:本文探索了一种在逆向工程领域构建工具的新方法。该方法使用现有的软件组件(例如,现成的组件和集成的开发环境)作为构建块,以编程方式组合和自定义它们,以实现所需的功能和非功能需求。与传统的工具构建相反,这种方法的特征可以是基于组件的工具构建,而传统的工具构建通常从头开始开发大多数工具的功能。本文的重点是在大学或研究实验室中构建的研究工具(然后可能在工业环境中进行评估)。通常,建立研究工具的动机是概念验证的实现。工具构建是研究的必要部分,但它是一项昂贵的工作。传统的工具构建方法导致工具具有高度的自定义代码,并且几乎没有重用。这种方法提供了最大的灵活性,但成本很高,并且会导致难以使用的高度特殊的工具。为了弥补从头开始构建工具的弊端,研究人员已开始重用现有功能,从而开发出一种以组件为基础的方法。但是,这种新兴方法是临时性地追求手工艺而不是专业工程。本文的目的是将基于组件的工具构建的当前状态推向更加规范,可预测的方法。为了实现这一目标,论文首先总结并评估了相关的工具开发经验和案例研究,然后将这些经验教训总结为实用的建议,并为工具构建者提供了可遵循的过程框架。论文独特地结合了逆向工程和软件组件两个方面。前者解决了构建工具的应用领域,后者构成了工具构建方法的基础。由于本文主要关注于逆向工程的工具,因此有必要对这个应用程序领域有透彻的了解,以得出其要求。这是通过深入的文献调查完成的,该调查综合了五个主要要求。所提出的要求用作评估基于组件的工具和所提出的过程框架的标准。有多种软件组件可用于基于组件的工具构建。但是,并非所有这些组件都适合于建议的工具构建方法。为了描述适用组件的种类,本文引入分类法对组件进行分类。分类法还可以推断出组件的特性以及这些特性如何影响工具的构造。本文介绍了适用于逆向工程领域中建议的工具构建方法的组件目录。此外,它详细介绍了一些基于组件的工具构建案例研究。这些案例研究中有六个代表了作者自己的工具构建经验。在维多利亚大学的以收养为中心的逆向工程项目中,这些工作已进行了五年。这些案例研究以及其他研究人员报告的相关经验,构成了一组宝贵的工具构建知识。该知识库为本文的两个最重要的贡献提供了基础。首先,它将各种经验(作者和其他人的经验)提炼为十个经验教训。这些课程涵盖了文献调查未发现的工具的重要要求。满足这些要求有望带来更好的工具,从而更有可能满足工具用户的需求。其次,论文提出了一个合适的过程

著录项

  • 作者

    Kienle, Holger Michael.;

  • 作者单位

    University of Victoria (Canada).;

  • 授予单位 University of Victoria (Canada).;
  • 学科 Computer Science.
  • 学位 Ph.D.
  • 年度 2007
  • 页码 346 p.
  • 总页数 346
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类 自动化技术、计算机技术;
  • 关键词

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号