Formal architecture modeling of sequential non-recursive C programs
To manage the complexity of C programs, architecture models are used as high-level descriptions, allowing developers to understand, assess, and manage the C programs without having to understand the intricate complexity of the code implementations. However, for the architecture models to serve their...
Gespeichert in:
Veröffentlicht in: | Science of computer programming 2017-10, Vol.146, p.2-27 |
---|---|
Hauptverfasser: | , , , |
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | To manage the complexity of C programs, architecture models are used as high-level descriptions, allowing developers to understand, assess, and manage the C programs without having to understand the intricate complexity of the code implementations. However, for the architecture models to serve their purpose, they must be accurate representations of the C programs. In order to support creating accurate architecture models, the present paper presents a mapping from the domain of sequential non-recursive C programs to a domain of formal architecture models, each being a hierarchy of components with well-defined interfaces. The hierarchically organized components and their interfaces, which capture both data and function call dependencies, are shown to both enable high-level assessment and analysis of the C program and provide a foundation for organizing and expressing specifications for compositional verification.
•Unique mapping from sequential non-recursive C program to architecture model.•C program parts are modeled as components with well-defined interfaces.•Architecture model serves as basis for specifying and organizing specifications.•Architecture model is complemented with graphical representation.•Feasibility study on the automatic extraction of architecture models from code. |
---|---|
ISSN: | 0167-6423 1872-7964 1872-7964 |
DOI: | 10.1016/j.scico.2017.03.007 |