Target problems

Our research focuses on developing automated techniques and tools for detecting bugs in complex SW.

High complexity of SW

SW is very complex engineering product in its nature due to complex data structures and loops which enable infinitely diverse executions.
In addition, many SW applications are non-deterministic multi-threaded ones (including event handlers).
Such complexity cannot be understood nor handled correctly by human engineers, but can be controlled only by scientific techniques and automated tools.

Ineffectiveness of
manual testing

Even small SW has millions to billions of different execution scenarios due to loop and recursion.
Thus, just hundreds of test cases manually written by human engineers cannot sufficiently check the correctness of target SW.
Furthermore, subtle errors appear only at corner-case executions which a human engineer cannot imagine and, thus, cannot detect.

Application of scientific theory
on program analysis

Software testing is not any more manual art, but scientific application of program analysis theory.
For the last half century, significant advance made in program analysis techniques which can be applied to complex large programs through automated tools using a large number of cloud computing nodes.

Announcements