Executable assertions and separate compilation

被引:0
|
作者
Gough, KJ
Klaeren, H
机构
[1] Queensland Univ Technol, Brisbane, Qld 4001, Australia
[2] Univ Tubingen, D-72076 Tubingen, Germany
来源
关键词
executable assertions; separate compilation; value propagation; elimination of redundant checks;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The use of executable assertions is widely recognised as a useful programming technique for complex systems. In many cases static analysis of programs allows such assertions to be removed at compile time, thus removing the overhead of the test. The use of interprocedural analysis would often allow a larger number of such tests to be statically removed; intermodular analysis could even improve overall safety of the system. In general, however, such analysis is antithetical to separate compilation and extensible systems. In this paper we offer a partial solution to this dilemma: We propose that preconditions become part of the interface definition of an encapsulated object. The implementation consequences of this technique are explored.
引用
收藏
页码:41 / 52
页数:12
相关论文
共 50 条
  • [31] THE DESIGN OF AIR AND ITS APPLICATION TO ADA SEPARATE COMPILATION
    BRIGGS, JS
    [J]. LECTURE NOTES IN COMPUTER SCIENCE, 1984, 180 : 60 - 75
  • [32] A SIMPLE SEPARATE COMPILATION MECHANISM FOR BLOCK-STRUCTURED LANGUAGES
    LEBLANC, RJ
    FISCHER, CN
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1984, 10 (03) : 221 - 227
  • [33] Incremental concrete syntax for embedded languages with support for separate compilation
    Dinkelaker, Tom
    Eichberg, Michael
    Mezini, Mira
    [J]. SCIENCE OF COMPUTER PROGRAMMING, 2013, 78 (06) : 615 - 632
  • [34] Parse Table Composition Separate Compilation and Binary Extensibility of Grammars
    Bravenboer, Martin
    Visser, Eelco
    [J]. SOFTWARE LANGUAGE ENGINEERING, 2009, 5452 : 74 - +
  • [35] When Coding Style Survives Compilation: De-anonymizing Programmers from Executable Binaries
    Caliskan, Aylin
    Yamaguchi, Fabian
    Dauber, Edwin
    Harang, Richard
    Rieck, Konrad
    Greenstadt, Rachel
    Narayanan, Arvind
    [J]. 25TH ANNUAL NETWORK AND DISTRIBUTED SYSTEM SECURITY SYMPOSIUM (NDSS 2018), 2018,
  • [36] Reducing FPGA Compile Time with Separate Compilation for FPGA Building Blocks
    Xiao, Yuanlong
    Park, Dongjoon
    Butt, Andrew
    Giesen, Hans
    Han, Zhaoyang
    Ding, Rui
    Magnezi, Nevo
    Rubin, Raphael
    DeHon, Andre
    [J]. 2019 INTERNATIONAL CONFERENCE ON FIELD-PROGRAMMABLE TECHNOLOGY (ICFPT 2019), 2019, : 153 - 161
  • [37] CompCertELF: Verified Separate Compilation of C Programs into ELF Object Files
    Wang, Yuting
    Xu, Xiangzhe
    Wilke, Pierre
    Shao, Zhong
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2020, 4
  • [38] SEPARATE COMPILATION IN MODULA-2 - AN APPROACH TO EFFICIENT SYMBOL FILES
    GUTKNECHT, J
    [J]. IEEE SOFTWARE, 1986, 3 (06) : 29 - 38
  • [39] LINBOX Founding Scope Allocation, Parallel Building Blocks, and Separate Compilation
    Dumas, Jean-Guillaume
    Gautier, Thierry
    Pernet, Clement
    Saunders, B. David
    [J]. MATHEMATICAL SOFTWARE - ICMS 2010, 2010, 6327 : 77 - +
  • [40] Assertions
    Hoare, T
    [J]. MODELS, ALGEBRAS AND LOGIC OF ENGINEERING SOFTWARE, 2003, 191 : 291 - 316