All

What are you looking for?

All
Projects
Results
Organizations

Quick search

  • Projects supported by TA ČR
  • Excellent projects
  • Projects with the highest public support
  • Current projects

Smart search

  • That is how I find a specific +word
  • That is how I leave the -word out of the results
  • “That is how I can find the whole phrase”

Abstracting Strings for Model Checking of C Programs

The result's identifiers

  • Result code in IS VaVaI

    <a href="https://www.isvavai.cz/riv?ss=detail&h=RIV%2F00216224%3A14330%2F20%3A00114537" target="_blank" >RIV/00216224:14330/20:00114537 - isvavai.cz</a>

  • Result on the web

    <a href="https://www.mdpi.com/2076-3417/10/21/7853" target="_blank" >https://www.mdpi.com/2076-3417/10/21/7853</a>

  • DOI - Digital Object Identifier

    <a href="http://dx.doi.org/10.3390/app10217853" target="_blank" >10.3390/app10217853</a>

Alternative languages

  • Result language

    angličtina

  • Original language name

    Abstracting Strings for Model Checking of C Programs

  • Original language description

    Data type abstraction plays a crucial role in software verification. In this paper, we introduce a domain for abstracting strings in the C programming language, where strings are managed as null-terminated arrays of characters. The new domain M-String is parametrized on an index (bound) domain and a character domain. By means of these different constituent domains, M-Strings captures shape information on the array structure as well as value information on the characters occurring in the string. By tuning these two parameters, M-String can be easily tailored for specific verification tasks, balancing precision against complexity. The concrete and the abstract semantics of basic operations on strings are carefully formalized, and soundness proofs are fully detailed. Moreover, for a selection of functions contained in the standard C library, we provide the semantics for character access and update, enabling an automatic lifting of arbitrary string-manipulating code into our new domain. An implementation of abstract operations is provided within a tool that automatically lifts existing programs into the M-String domain along with an explicit-state model checker. The accuracy of the proposed domain is experimentally evaluated on real-case test programs, showing that M-String can efficiently detect real-world bugs as well as to prove that program does not contain them after they are fixed.

  • Czech name

  • Czech description

Classification

  • Type

    J<sub>imp</sub> - Article in a specialist periodical, which is included in the Web of Science database

  • CEP classification

  • OECD FORD branch

    10200 - Computer and information sciences

Result continuities

  • Project

    <a href="/en/project/GA18-02177S" target="_blank" >GA18-02177S: Abstraction and Other Techniques in Semi-Symbolic Program Verification</a><br>

  • Continuities

    P - Projekt vyzkumu a vyvoje financovany z verejnych zdroju (s odkazem do CEP)<br>S - Specificky vyzkum na vysokych skolach

Others

  • Publication year

    2020

  • Confidentiality

    S - Úplné a pravdivé údaje o projektu nepodléhají ochraně podle zvláštních právních předpisů

Data specific for result type

  • Name of the periodical

    Applied Sciences

  • ISSN

    2076-3417

  • e-ISSN

  • Volume of the periodical

    10

  • Issue of the periodical within the volume

    21

  • Country of publishing house

    CH - SWITZERLAND

  • Number of pages

    33

  • Pages from-to

    1-33

  • UT code for WoS article

    000588870800001

  • EID of the result in the Scopus database

    2-s2.0-85095681850