Design Assertions: Executable Assertions for Design Constraints

被引:0
|
作者
Cheon, Yoonsik [1 ]
机构
[1] Univ Texas El Paso, El Paso, TX 79968 USA
关键词
Assertion; Abstract model; Assertion-only method; Design constraint; Dart;
D O I
10.1007/978-3-031-10548-7_45
中图分类号
TP39 [计算机的应用];
学科分类号
081203 ; 0835 ;
摘要
An assertion is a Boolean expression embedded in a program that must hold during the execution. Executable assertions are a simple but practical way to check assumptions and code logic at runtime. Assertions are written by referring to concrete program states. In this paper, we recognize a variety of assertions that we call design assertions. These are assertions written to ensure design constraints and properties, not detailed implementation decisions, and thus can detect major problems in the implementation such as design drift or corrosion. However, they are written by referring to concrete program states, thus causing readability and maintenance problems. To address these problems, we propose to write design constraints at a higher abstraction level by referring to abstract program states. We explain our approach using the Dart/Flutter platform, but it should work in other languages and platforms with similar assertion facilities.
引用
收藏
页码:617 / 631
页数:15
相关论文
共 50 条
  • [1] On systematic design of globally consistent executable assertions in embedded software
    Jhumka, A
    Hiller, M
    Claesson, V
    Suri, N
    [J]. ACM SIGPLAN NOTICES, 2002, 37 (07) : 75 - 84
  • [2] Executable assertions and separate compilation
    Gough, KJ
    Klaeren, H
    [J]. MODULAR PROGRAMMING LANGUAGES, 1997, 1204 : 41 - 52
  • [3] ON THE USE OF EXECUTABLE ASSERTIONS IN STRUCTURED PROGRAMS
    MILI, A
    GUEMARA, S
    JAOUA, A
    TORRES, P
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 1987, 7 (01) : 15 - 27
  • [4] Toward Translating Design Constraints to Run-Time Assertions
    Baresi, Luciano
    Young, Michal
    [J]. ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2005, 116 : 73 - 84
  • [5] Design for verification with dynamic assertions
    Mehlitz, PC
    Penix, J
    [J]. 29th Annual IEEE/NASA Software Engineering Workshop, Proceedings, 2005, : 285 - 292
  • [6] Design and verification driven by assertions
    Torres, F
    Vaca, S
    Torres, D
    González, RE
    [J]. 2004 1st International Conference on Electrical and Electronics Engineering (ICEEE), 2004, : 188 - 193
  • [7] Design Method Based on Logical Assertions
    Zerbino, Dmitry
    Yurchak, Iryna
    [J]. 2019 IEEE 15TH INTERNATIONAL CONFERENCE ON THE EXPERIENCE OF DESIGNING AND APPLICATION OF CAD SYSTEMS (CADSM'2019), 2019,
  • [8] Assertions with constraints for CLP debugging
    Laï, C
    [J]. ANALYSIS AND VISUALIZATION TOOLS FOR CONSTRAINT PROGRAMMING, 2000, 1870 : 109 - 120
  • [9] Design and verification based on assertions:: Some statistics
    Cortéz, J
    Torres, D
    [J]. 2005 2nd International Conference on Electrical & Electronics Engineering (ICEEE), 2005, : 132 - 135
  • [10] Automatic generation of executable assertions for runtime checking temporal requirements
    Pintér, G
    Majzik, I
    [J]. Ninth IEEE International Symposium on High-Assurance Systems Engineering, 2005, : 111 - 120