首页> 外文会议>European conference on object-oriented programming >Really Automatic Scalable Object-Oriented Reengineering
【24h】

Really Automatic Scalable Object-Oriented Reengineering

机译:真正的可伸缩的面向对象的再造

获取原文

摘要

Even when implemented in a purely procedural programming language, properly designed programs possess elements of good design that are expressible through object-oriented constructs and concepts. For example, placing structured types and the procedures operating on them together in the same module achieves a weak form of encapsulation that reduces inter-module coupling. This paper presents a novel technique, and a supporting tool AutoOO, that extracts such implicit design elements from C applications and uses them to build reengineered object-oriented programs. The technique is completely automatic: users only provide a source C program, and the tool produces an object-oriented application written in Eiffel with the same input/output behavior as the source. An extensive evaluation on 10 open-source programs (including the editor vim and the math library libgsl) demonstrates that our technique works on applications of significant size and builds reengineered programs exhibiting elements of good object-oriented design, such as low coupling and high cohesion of classes, and proper encapsulation. The reengineered programs also leverage advanced features such as inheritance, contracts, and exceptions to achieve a better usability and a clearer design. The tool AutoOO is freely available for download.
机译:即使以纯粹的过程编程语言实现,经过适当设计的程序也具有良好的设计元素,这些元素可以通过面向对象的构造和概念来表达。例如,将结构化类型和对其进行操作的过程放在同一个模块中,将实现一种弱化的封装形式,从而减少了模块间的耦合。本文提出了一种新颖的技术和一种支持工具AutoOO,该工具可从C应用程序中提取此类隐式设计元素,并使用它们来构建重新设计的面向对象程序。该技术是完全自动的:用户仅提供源C程序,该工具将生成以Eiffel编写的面向对象的应用程序,其输入/输出行为与源代码相同。对10个开源程序(包括编辑器vim和数学库libgsl)的广泛评估表明,我们的技术可用于规模很大的应用程序并构建重新设计的程序,这些程序表现出良好的面向对象设计元素,例如低耦合和高内聚性类和适当的封装。经过重新设计的程序还利用了继承,合同和异常等高级功能,以实现更好的可用性和更清晰的设计。该工具AutoOO可以免费下载。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号