Program testing can be used to show the presence of bugs, but never to show their absence! — Edsger W. Dijkstra (1970)
As a practical problem stands, we (i.e., software developers) cannot build software without any faults. We need to make concerted efforts to find and fix faults in software. However, considering the practical issue, we inevitably face on software failures. Therefore, we now need to presuppose an occurrence of software failures; when a software application fails, we must immediately and precisely maintain it. For supporting the technical and laborious tasks, we develop state-of-the-art technologies on test automation and automated program repair. Our aim is to create the world in which we can concentrate on our creative work.
Software testing is not operation check. We must implement software tests that can detect faults. Our first direction is for “mutation testing” that injects artificial faults into software and measures fault-detecting capability of tests.
Automated Program Repair
We must fix faults detected by software tests. Our second direction is for “generate-and-validate program repair” that generates patches for faulty programs and validates whether the patches correctly repair the programs.
Market as a Product
We develop our technologies as “open source software (OSS)”. With feedbacks from software developers in the
world, we sophisticate our products that can bring transformative changes in the lives of many people.
We research on software testing and debugging for developing state-of-the-art technologies of test automation and automated program repair.
We develop Web applications (from building servers to implementing clients), programs for machine learning and statistics analysis, etc.
We consult engineering guidances and lectures on software testing for contributing its more spreadin actual software development spots.