首页> 外文学位 >API protocol compliance in object-oriented software.
【24h】

API protocol compliance in object-oriented software.

机译:面向对象软件中的API协议合规性。

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

摘要

Modern software development is highly reliant on reusable APIs. APIs often define usage protocols that API clients must follow in order for code implementing the API to work correctly. Loosely speaking, API protocols define legal sequences of method calls on objects. In this work, protocols are defined based on typestates (Strom and Yemini, 1986; DeLine and Fahndrich, 2004b). Typestates leverage the familiar intuition of abstract state machines to define usage protocols.;The goal of this work is to give developers comprehensive help in defining and following API protocols in object-oriented software. Two key technical contributions enable the proposed approach: (1) Object state spaces are defined with hierarchical state refinements. Hierarchical state spaces make specifications more succinct, elegantly deal with subtyping, express uncertainty, and enable more precise reasoning about aliasing. (2) A novel abstraction, called access permissions, combines typestate and aliasing information. Access permissions capture developers' design intent regarding API protocols and enable sound modular verification of API protocol compliance while allowing a great deal of flexibility in aliasing objects.;This dissertation demonstrates that typestate-based protocols with state refinement and access permissions can be used for automated, static, modular enforcement of API protocols in practical object-oriented software. Formal and empirical results show that the presented approach captures common API protocols succinctly, allows sound modular checking of protocol compliance in object-oriented code, can be automated in tools for mainstream programming languages that impose low annotation burden on developers, and can check API protocols in off-the-shelf software with higher precision than previous approaches.;This work puts automatic API protocol compliance checking within reach of being used in practice. It will enable rapid and correct use of APIs during initial construction and ensure that API clients and implementations remain consistent with the specified protocol during maintenance tasks.
机译:现代软件开发高度依赖可重用的API。 API通常定义API客户端必须遵循的使用协议,以使实现API的代码正常工作。宽松地说,API协议定义了对象上方法调用的合法顺序。在这项工作中,基于类型状态定义了协议(Strom和Yemini,1986; DeLine和Fahndrich,2004b)。类型状态利用抽象状态机的熟悉直觉来定义使用协议。这项工作的目的是为开发人员在定义和遵循面向对象软件中的API协议方面提供全面的帮助。两项关键技术贡献使该方法得以实现:(1)通过分层状态细化定义对象状态空间。分层状态空间使规范更加简洁,可以优雅地处理子类型,表达不确定性,并可以更精确地进行别名推理。 (2)一种新颖的抽象,称为访问权限,将类型状态和别名信息组合在一起。访问权限捕获了开发人员关于API协议的设计意图,并实现了对API协议合规性的合理模块化验证,同时在别名对象方面具有很大的灵活性。本文证明了具有状态细化和访问权限的基于类型状态的协议可以用于自动化实用的面向对象软件中API协议的静态,模块化实施。正式和实证结果表明,所提出的方法简洁地捕获了常见的API协议,可以对面向对象代码中的协议一致性进行合理的模块化检查,可以在主流编程语言的工具中实现自动化,从而减轻了开发人员的注释负担,并且可以检查API协议比现有方法精度更高的现成软件。;这项工作使自动API协议符合性检查在实践中可以使用。它将在初始构建期间实现对API的快速正确使用,并确保在维护任务期间API客户端和实现与指定协议保持一致。

著录项

  • 作者

    Bierhoff, Kevin.;

  • 作者单位

    Carnegie Mellon University.;

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

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号