arrow
返回

Contract-checking wrappers for C++ classes

delete2004-11-01
delete12
PRE
AI
S
Stephen H. Edwards
M
Murali Sitaraman
B
Bruce W. Weide
H
Hollingsworth, J
DOI:10.1109/TSE.2004.80delete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
Two kinds of interface contract violations can occur in component-based software: A client component can fail to satisfy a requirement of a component it is using, or a component implementation can fail to fulfill its obligations to the client. The traditional approach to detecting and reporting such violations is to embed assertion checks into component source code, with compile-time control over whether they are enabled. This works well for the original component developers, but it fails to meet the needs of component clients who do not have access to source code for such components. A wrapper-based approach, in which contract checking is not hard-coded into the underlying component but is layered on top of it, offers several relative advantages. It is practical and effective for C++ classes. Checking code can be distributed in binary form along with the underlying component, it can be installed or removed without requiring recompilation of either the underlying component or the client code, it can be selectively enabled or disabled by the component client on a per-component basis, and it does not require the client to have access to any special tools ( which might have been used by the component developer) to support wrapper installation and control. Experimental evidence indicates that wrappers in C++ impose modest additional overhead compared to inlining assertion checks.
Keyword:
assertion checkers
binary components
design by contract
preconditions
postconditions
class invariants
coding techniques
debugging aids
specification
AI总结

AI总结

对已上传原文的论文进行重点信息的提取,主要内容包括:简要概述、研究摘要、背景介绍、关键亮点、图文解析、展望与总结。

期刊

IEEE Transactions on Software Engineering 封面图
IEEE Transactions on Software Engineering
IF:
5.6
论文数:
2.9K
被引数:
1.1W

机构

暂无机构信息
引用论文

引用论文

Numerical Investigation of Natural Convection in a Simplified Engine Bay
err2016-04-05
err0
PREAI
errBlago B. Minovski; Lennart Lofdahl; Peter Gullberg
err分享
err收藏
err分享
err收藏
err分享
err收藏
err
IF0
err
err0
PREAI
err
err分享
err收藏
学者 查看更多内容