Ivannikov Institute for System Programming of the RAS

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). Sub-trees are declared as variable patterns allowing the user to easily modify them for a specific need.

Currently KAST is used within a complex tool infrastructure to automatically identify program defects in the source code AST. Within the scope of the program analysis research KAST is also used for code transformation and clone detection purposes.

The tool infrastructure containing KAST was developed as a joint project with Klocwork a Rogue Wave Company; it is widely used among a number of primary software and hardware development companies.


  1. S.V. Syromyatnikov. Declarative Interface of Detecting Defects on Syntax Trees: KAST Language. Proceedings of the Institute for System Programming Volume 20. 2011 . pp. 51-68.
  2. N.L. Lugovskoy, S.V. Syromyatnikov. Source code transformation and automatic correction of defects with KAST language. Proceedings of the Institute for System Programming Volume 25. 2013 . pp. 51-66.


System Programming

Back to the list of technologies of ISP RAS