Другие журналы
|
scientific edition of Bauman MSTUSCIENCE & EDUCATIONBauman Moscow State Technical University. El № FS 77 - 48211. ISSN 1994-0408
Implementing Inter-Unit Analysis for C And C++ Languages in a Source-Based Static Code Analyzer
# 09, September 2015 DOI: 10.7463/0915.0812271
Article file:
SE-BMSTU...o159.pdf
(379.75Kb)
The proliferation of automated testing capabilities arises a need for thorough testing of large software systems, including system inter-component interfaces. The objective of this research is to build a method for inter-procedural inter-unit analysis, which allows us to analyse large and complex software systems including multi-architecture projects (like Android OS) as well as to support complex assembly systems of projects. Since the selected Clang Static Analyzer uses source code directly as input data, we need to develop a special technique to enable inter-unit analysis for such analyzer. This problem is of special nature because of C and C++ language features that assume and encourage the separate compilation of project files. We describe the build and analysis system that was implemented around Clang Static Analyzer to enable inter-unit analysis and consider problems related to support of complex projects. We also consider the task of merging abstract source trees of translation units and its related problems such as handling conflicting definitions, complex build systems and complex projects support, including support for multi-architecture projects, with examples. We consider both issues related to language design and human-related mistakes (that may be intentional). We describe some heuristics that were used for this work to make the merging process faster. The developed system was tested using Android OS as the input to show it is applicable even for such complicated projects. This system does not depend on the inter-procedural analysis method and allows the arbitrary change of its algorithm. References
Publications with keywords: C++, static code analysis, symbolic execution, interprocedural analysis, Clang Static Analyzer, inter-unit analysis Publications with words: C++, static code analysis, symbolic execution, interprocedural analysis, Clang Static Analyzer, inter-unit analysis See also: Thematic rubrics: Поделиться:
|
|
|||||||||||||||||||||||||||||
|