Premium
A comparison between handwritten and automatic generation of C code from SDL using static analysis
Author(s) -
Becucci Marcello,
Fantechi Alessandro,
Giromini Marco,
Spinicci Emilio
Publication year - 2005
Publication title -
software: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.437
H-Index - 70
eISSN - 1097-024X
pISSN - 0038-0644
DOI - 10.1002/spe.673
Subject(s) - computer science , code generation , control flow , programming language , code (set theory) , generator (circuit theory) , set (abstract data type) , metric (unit) , static program analysis , dead code , software , software development , redundant code , operating system , power (physics) , operations management , physics , quantum mechanics , key (lock) , economics
The experience reported in this paper relates to an evaluation of the automatic generation of C code from the Specification and Description Language (SDL) specification of embedded applications. The evaluation has been carried out by comparing the automatically generated code with the manually implemented code, both compliant to the same SDL specification: this comparison is based on a selection of metrics measured on both codes by means of commercial static analysis tools. Notwithstanding the different structure of the two codes, we appropriately selected and aggregated the obtained results in order to use them as indicators of code size, control flow complexity and integration flow complexity. For a better comparison of the two codes, we have also introduced a novel complexity metric, which compares the control flow complexity with the integration flow of the two different software architectures. The aim of the paper is not merely to evaluate the code generator used, but rather to propose a set of techniques that can be used to conduct similar evaluations. Copyright © 2005 John Wiley & Sons, Ltd.