Institute for System Programming of the Russian Academy of Sciences


Innovation

Own Technologies

KAST: Defect description AST-pattern language

KAST provides the means to describe program defects as AST sub-trees (derived from C/C++, Java and C# programs).

Avalanche: dynamic program analysis tool

Avalanche tool is based on Valgrind dynamic instrumentation framework and perform automatic critical runtime defect detection through iterative analysis.

Noon - framework for semantic search and exploration of domain-specific information

Noon is an easily extensible framework for semantic search and exploration of domain-specific information.

API Gateway - a platform for load-balancing

API Gateway provides more than 25 tools based on natural language processing, social networks analysis, and knowledge base utilization.

Sedna - Native XML Database System

Full-featured native XML DBMS with support for the W3C XQuery language. XML is standard for storing and exchanging information in the Web. In order to facilitate work with big amount of XML data we developed special DBMS system that is called Sedna.

Texterra - Text Mining Toolkit

Texterra is a toolkit for text mining based on novel text processing methods that exploit semantics extracted from Wikipedia. Texterra delivers a solution for organizing and monitoring collections of documents without the expensive customization that is present in contemporary systems.

HDL Retrascope

HDL Retrascope is a toolkit for reverse engineering and transformation of digital hardware designs described in such HDLs (hardware description languages) as Verilog и VHDL.

CTESK

CTESK is a toolkit for testing applications developed in C. CTESK implements UniTESK concepts of automated testing based on specifications.

C++TESK

C++TESK Testing ToolKit is an open-source C++ based toolkit intended for automated functional testing of software components (mostly in C/C++) and RTL (HDL) models of digital hardware (in Verilog and VHDL).

Requality

System of management requirements Requality is tool for working with requirements, especially for software systems.

MicroTESK

MicroTESK (Microprocessor TEsting and Specification Kit) is a framework for generating test programs in assembly language for microprocessors.

JavaTESK

JavaTESK is a toolkit for testing applications developed in Java.

PyTESK

PyTESK is a technology of software testing based on formal specifications.

UniTESK

UniTESK is a technology for testing application program interfaces (API) which is primarily designed for unit testing.
UniTESK stands for Unified TEsting Specification based toolKit. UniTESK uniformity is provided by the fact that the common testing methodology and general architecture can be implemented for testing modules written in almost all programming languages. Currently there are UniTESK implementations for such languages as C (CTESK), C++ (C++TESK), Java (JavaTESK and Summer), Python (PyTESK).

Static Analysis: Linux Driver Verification

Linux Driver Verification (LDV) Tools complement conventional static analysis tools using advanced verification techniques that provide extra precision and depth of source code analysis at the cost of extra consumption of memory and computing power.

SemaTESK

SemaTESK (Semantics Testing Kit) is an automatic method for  generation of test sets for a translator front end.

OTK

OTK (Optimizer Testing Kit) is an automated test development tool for software using complex data structures.

SynTESK

SynTESK (Syntax Testing Kit) is a toolkit for testing parsers of formal languages.

RaceHound

RaceHound is a software for data race detection in Linux kernel modules.

Open Source Technologies

Apache Spark - a fast and general engine for large-scale data processing

Participating in development of Apache Spark and using it in own projects.

Other technologies

Static ARM binary code instrumentation

Static instrumentation tool allows to modify ARM ELF executables and shared libraries to change or extend functionality.

KEDR

KEDR is a framework for dynamic (runtime and post factum) analysis of Linux kernel modules, including device drivers, file system modules, etc.

MASIW

MASIW – Modular Avionics System Integrator Workplace. This is the development environment providing tools to develop model of modular avionics of aircrafts, tools to performing analyzes of models for compliance to requirements and tools for generation of configurations data and binary images of program code based on models.