2010 11th Latin American Test Workshop 2010
DOI: 10.1109/latw.2010.5550368
|View full text |Cite
|
Sign up to set email alerts
|

An evaluation of free/open source static analysis tools applied to embedded software

Abstract: Static analysis can be a valuable strategy to improve the quality of embedded software at a lower development cost. In this paper, we have surveyed ten different free/open source tools that perform static software analysis and evaluated their use in embedded software. Experimental results show that the studied tools present widely different results, and most of them are not ready to be applied to embedded systems. Furthermore, we discuss possible directions to improve the use of static analysis tools in the em… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
5
0

Year Published

2012
2012
2018
2018

Publication Types

Select...
6
2

Relationship

0
8

Authors

Journals

citations
Cited by 8 publications
(5 citation statements)
references
References 18 publications
0
5
0
Order By: Relevance
“…It will check the source code of C/C++ and figure out the bugs, inconsistencies, non-portable constructs, redundant code, etc. It is developed by Gimpel Software and it has been continuously maintained for more than 25 years [19]. Two examples demonstrating the types of violations PC-Lint can catch are [12]:…”
Section: Pc-lintmentioning
confidence: 99%
“…It will check the source code of C/C++ and figure out the bugs, inconsistencies, non-portable constructs, redundant code, etc. It is developed by Gimpel Software and it has been continuously maintained for more than 25 years [19]. Two examples demonstrating the types of violations PC-Lint can catch are [12]:…”
Section: Pc-lintmentioning
confidence: 99%
“…Schumacher et al showed the value of gathering information from vulnerability databases to aid the discovery of vulnerabilities in software [13]. In [14] Torri et al evaluated 10 free and open source static analysis tools on embedded C programs. Torri et al found that while the results were very poor, even the best performing tool needed to be tweaked extensively to produce good results, and therefore, this approach was impractical for use in software development and vulnerability discovery [14].…”
Section: A Vulnerability Discoverymentioning
confidence: 99%
“…In [14] Torri et al evaluated 10 free and open source static analysis tools on embedded C programs. Torri et al found that while the results were very poor, even the best performing tool needed to be tweaked extensively to produce good results, and therefore, this approach was impractical for use in software development and vulnerability discovery [14]. Similar results were shown in [11] and [15].…”
Section: A Vulnerability Discoverymentioning
confidence: 99%
“…It is not surprising that many tools that process C code or associated intermediate languages (such as LLVM IR [38] and CIL [45]) partially or entirely lack support for inline assembly. For example, many bug-inding tools (e.g., the Clang Static Analyzer [70], splint [18,19,63], Frama-C [69], uno [26], and the LLVM sanitizers [55,58]), tools for source translation (e.g., c2go [44]), semantic models for C [36,43], and alternative execution environments such as Sulong [51±53] and Klee [12] still lack support for inline assembly, provide only partial support, or overapproximate it (e.g., by analyzing only the side efects speciied as part of the fragment), which can lead to imprecise analyses or missed optimization opportunities. How to provide better support depends on the tool, for example, in Sulong, adding support for assembly instructions requires emulating their behavior in Java, while support in a formal model would require specifying the instructions in a language such as Coq.…”
Section: Introductionmentioning
confidence: 99%