Rewriting Semantics and Analysis of Concurrency Features for a C-like Language

被引:1
|
作者
Serrbanuta, Traian Florin [1 ]
机构
[1] Univ Bucharest, Dept Comp Sci, Bucharest, Romania
关键词
Runtime verification; tools; datarace; deadlock; Peterson's mutual exclusion algoriithm;
D O I
10.1016/j.entcs.2014.05.009
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
This paper shows how one can easily transform K definitions of programming languages into runtime verification tools. To increase the confidence that these runtime verification tools can be used for testing real-world programs, the paper uses KERNELC, a subset of the C programming language containing functions, memory allocation, pointer arithmetic, and input/output, which can be used to execute and test real C programs. KERNELC is extended with threads and synchronization constructs, and two concurrent semantics are derived from its sequential semantics. The first semantics, defining a sequentially consistent memory model, can be easily transformed into a runtime verification tool for checking datarace and deadlock freeness. The second semantics defines in a relatively minimal fashion a relaxed memory model based on the x86-TSO memory model. By exploring the executions of an implementation of Peterson's mutual exclusion algorithm for both definitions, it is shown that the algorithm guarantees mutual exclusion for the sequentially consistent model, but cannot guarantee it for the relaxed model, but also that by allowing fence operations in the language, the algorithm can be fixed and proven correct for the TSO model, too.
引用
收藏
页码:167 / 182
页数:16
相关论文
共 50 条
  • [21] Theoretical analysis of excitation energies and transition parameters of C-like ions
    Khatri, Indu
    Goyal, Arun
    EUROPEAN PHYSICAL JOURNAL D, 2022, 76 (11):
  • [22] From Rewriting Logic, to Programming Language Semantics, to Program Verification
    Rosu, Grigore
    LOGIC, REWRITING, AND CONCURRENCY, 2015, 9200 : 598 - 616
  • [23] A rewriting semantics for an event-oriented functional parallel language
    Loulergue, F
    PARALLEL COMPUTING: SOFTWARE TECHNOLOGY, ALGORITHMS, ARCHITECTURES AND APPLICATIONS, 2004, 13 : 79 - 86
  • [24] A rewriting logic semantics for the analysis of P programs
    Duran, Francisco
    Ramirez, Carlos
    Rocha, Camilo
    Pozas, Nicolas
    JOURNAL OF LOGICAL AND ALGEBRAIC METHODS IN PROGRAMMING, 2025, 144
  • [25] COMPLEMENT (C) AND C-LIKE ACTIVITY IN LOWER VERTEBRATES AND INVERTEBRATES
    JOHANNSE.R
    DAY, NB
    PICKERIN.RJ
    GOOD, RA
    GEWURZ, H
    FEDERATION PROCEEDINGS, 1970, 29 (02) : A434 - +
  • [26] Comparative Regression Analysis for Estimating Resonant Frequency of C-Like Patch Antennas
    Ozkaya, Umut
    Yigit, Enes
    Seyfi, Levent
    Ozturk, Saban
    Singh, Dilbag
    MATHEMATICAL PROBLEMS IN ENGINEERING, 2021, 2021
  • [27] Rewrite systems for symbolic evaluation of C-like preprocessing
    Latendresse, M
    CSMR 2004: EIGHTH EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING, PROCEEDINGS, 2004, : 165 - 173
  • [28] TROPONIN C-LIKE PROTEIN IN CHICKEN GIZZARD MUSCLE
    MAKIOKA, A
    HIRABAYASHI, T
    JOURNAL OF BIOCHEMISTRY, 1979, 85 (04): : 967 - 975
  • [29] The Cytochrome C-Like Domain of the Human BK Channel
    Yusifov, Taleh
    Madhvani, Roshni V.
    Olcese, Riccardo
    BIOPHYSICAL JOURNAL, 2014, 106 (02) : 535A - 535A
  • [30] IMPLEMENTATION OF CONCURRENCY FOR A PL-I-LIKE LANGUAGE
    NEHMER, J
    SOFTWARE-PRACTICE & EXPERIENCE, 1979, 9 (12): : 1043 - 1057