- Issue
- Journal of Siberian Federal University. Engineering & Technologies. 2018 11 (7)
- Authors
- Victorov, Dmitry S.; Zhidkov, Evgeny N.; Zhidkov, Roman E.
- Contact information
- Victorov, Dmitry S.: Military Academy of Aero-Space Defense named after the Marshal of Soviet Union G.K. Zhukov 50 Zhigareva Str., Tver, 170022, Russia; Zhidkov, Evgeniy N.: Military Academy of Aero-Space Defense named after the Marshal of Soviet Union G.K. Zhukov 50 Zhigareva Str., Tver, 170022, Russia; Zhidkov, Roman E.: Military Academy of Aero-Space Defense named after the Marshal of Soviet Union G.K. Zhukov 50 Zhigareva Str., Tver, 170022, Russia;
- Keywords
- LLVM; Clang; automated systems; software; program object; verification; static analysis; functional defects; abstract syntax tree; LLVM; Clang
- Abstract
The article proposes a static analysis technique for searching functional software defects. Development is caused by the need to create high quality domestic military automated system software in conditions of temporary and financial constraints. The use of static analysis makes it possible to automate the process of error detection and it allows to localizing defects simply. The priority object of inspections should be special software for newly created automated systems because it is exclusively, scale and logical complexity. An approach based on controlling the implementation of principle of dimensional homogeneity of the physical equations presented in the software. For this purpose, program objects identifiers are assigned an invariable attribute in the form of a physical dimension vector of interpreted value. The set of all vectors forms a semantic domain used in verifying the relationships between program objects by analogy with the analysis of dependencies in the abstract interpretation. The technique uses a program internal representation for calculations of derivate vectors on the basis of operations with initial program objects. The software implementations uses the LLVM compiler and Clang frontend to translate code in C, C++, Objective-C. Clang API internal representation in the form of abstract syntax tree is modified to store data about program objects vectors
- Pages
- 801-810
- Paper at repository of SibFU
- https://elib.sfu-kras.ru/handle/2311/109150
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License (CC BY-NC 4.0).