首页> 外文学位 >Integrating informal and formal techniques to reverse engineer imperative programs.
【24h】

Integrating informal and formal techniques to reverse engineer imperative programs.

机译:整合非正式和正式技术以逆转工程师的当务之急。

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

摘要

Many well-documented computer failures have been attributed to software. Some of the most notable incidents include the catastrophic failures of the Therac-25 and the Ariane 5 spacecraft. A commonly overlooked aspect of these failures has been the fact that both were the result of an improper reengineering of software from one version to another.; The failure to correctly analyze software in both the Therac-25 and Ariane 5 resulted in catastrophic events that led to loss of life and property. These examples vividly illustrate the need for sophisticated and systematic methods for maintaining software in order to understand their functionality.; Reverse engineering of program code is the process of examining components and component interrelationships in order to construct a high-level abstraction of an implementation. Reengineering is the process of examination, understanding, and alteration of a system with the intent of implementing the system in a new form. Software reengineering is considered to be a better solution for handling legacy code as opposed to developing software from the original requirements. Since much of the functionality of the existing software has been achieved over a period of time, it must be preserved for many reasons, including providing continuity to current users of the software.; This research focuses on three primary contributions to the areas of software engineering and software maintenance. First, we have developed a technique for the construction of as-built formal specifications from program code using the strongest postcondition predicate transformer. Second, we have developed a formal technique for introducing abstraction into as-built specifications with the intent of obtaining design level specifications. Third, we have used the formal technique to support program understanding and software reuse activities.
机译:许多有据可查的计算机故障均归因于软件。一些最著名的事件包括Therac-25和Ariane 5航天器的灾难性故障。这些失败的一个通常被忽视的方面是,这两个事实都是由于软件从一个版本到另一个版本的不适当的重新设计而造成的。无法正确分析Therac-25和Ariane 5中的软件会导致灾难性事件,从而导致人员伤亡和财产损失。这些示例生动地说明了需要复杂且系统的方法来维护软件,以了解其功能。程序代码的逆向工程是检查组件和组件之间的相互关系以构造实现的高层抽象的过程。重新设计是检查,理解和更改系统的过程,目的是以新形式实施该系统。与根据原始需求开发软件相比,软件再造被认为是处理遗留代码的更好解决方案。由于现有软件的大部分功能都是在一段时间内实现的,因此必须出于多种原因加以保留,包括为软件的当前用户提供连续性。这项研究的重点是对软件工程和软件维护领域的三个主要贡献。首先,我们开发了一种使用最强的后置条件谓词转换器从程序代码构建已建成正式规格的技术。其次,我们已经开发出一种正式的技术,用于将抽象引入已建成的规范中,以获取设计级别的规范。第三,我们使用形式化技术来支持程序理解和软件重用活动。

著录项

  • 作者

    Gannod, Gerald Catolico.;

  • 作者单位

    Michigan State University.;

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

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号