Static analysis technique for searching natural semantic defects of program objects and software implementation of this approach based on the LLVM compiler infrastructure and the Clang frontend

Бесплатный доступ

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.

Еще

Automated systems, software, program object, verification, static analysis, functional defects, abstract syntax tree, llvm, clang

Короткий адрес: https://sciup.org/146279548

IDR: 146279548   |   DOI: 10.17516/1999-494X-0095

Статья научная