codemind 네이버블로그 페이스북 유튜브

Symbolic Execution

Coyote C++, an intelligence unit testing tool, automatically generates test cases for each function of your software and executes runtime tests for the generated test cases.

The most challenging aspect in achieving fully automated testing is the automated generation of test cases. Various techniques have been devised so far, but they have not been sufficient to qualify as complete automation. This is why many test automation tools that advertise test case generation capabilities have not received favorable responses.

We have developed a symbolic testing engine that utilizes purely domestic technology for automatic test case generation in a business environment. Symbolic testing technology is an excellent approach for automated test case generation, performed using symbolic execution or concolic execution techniques, within white-box testing.

The symbolic testing engine simultaneously explores all execution paths for a given function while calculating the conditions (i.e., path conditions) under which each execution path is explored.
The process involves inserting code for symbolic operation into the given function, creating drivers to execute that function and generating stubs for other functions called by that function to automatically generating test executables. When the testing begins, it performs both actual and symbolic executions concurrently, calculating path conditions and test cases. In this process, automated theorem provers like SMT solvers are used to resolve condition expressions.

(Fully automatic white box testing engine)

Automated Verification Team

  • We are developing a fully automated testing tool by integrating technologies such as symbolic execution, automated theorem proving, static analysis, and machine learning.
  • We primarily use functional languages like F# and object-oriented languages like Java for development.
  • In addition to symbolic testing techniques, we automate various elements required for automated testing through source code analysis, SMT solvers, code generation techniques, and more, playing crucial roles.
  • We will strive to make our fully automated testing tool, Coyote C++, a dependable companion in fields where software reliability is especially critical, such as automotive and aviation.

We will be responsible for
software safety and security while putting
the highest priority on customer value