Learn More
In modern processors, instructions to perform operations are often produced before it becomes known that this is required. Such an expedient, which is called speculative execution, helps to reveal parallelism at the instruction level. In the EPIC architectures, the speculative execution is completely controlled by the compiler, which makes it possible to(More)
This paper describes Svace, a tool for static program analysis developed at the Institute for Systems Programming, Russian Academy of Sciences. This tool allows one to find defects and potential vulnerabilities in the source program code written in C/C++ languages. The main features of the tool are simplicity of use, wide variety of supported types of(More)
A detailed description of a method for detection of code clones is described. This method is based on the semantic analysis of programs and on new algorithms that make it scalable without affecting its accuracy. The proposed method involves two phases. In the first phase, the program dependence graph (PDG) is constructed while the program is compiled. LLVM(More)
Power-aware computing has caught the interest of researchers and users of all computing systems. In embedded systems and small devices, better management of energy translates into longer lasting and smaller batteries, which in turn implies smaller and lighter devices. In cloud, distributed, and high performance computing systems, better management of power(More)
This paper considers various aspects of static analysis of C# programs in order to detect the maximum number of software bugs in an acceptable time. A complete cycle of software static analysis is described with the main focus being placed on the specifics of the C# language. Some methods are discussed that take into account popular features of C# at all(More)
A tool for the static analysis of programs that can detect entities in C and C++ programs, their metrics, and relations between them is considered. The program entities are files, functions, classes, methods, etc., and relations are calls, inheritance, read/write operations of global variables, file inclusion, and aggregation. Methods for the development of(More)
Existed methods of code clones detection have some restrictions. Textual and lexical approaches cannot detect strongly modified fragments of code. Syntactic and metrics based approaches detect strong modifications with low accuracy. On the contrary, semantic approach accurately detects the cloned fragments of code with small changes as well as the strongly(More)
  • 1