Our ARTS project explores a spectrum of non-conventional approaches to improve the robustness and availability of software. These approaches include: (1) hardware architecture support for software debugging and testing, (2) applying data mining and statistic to program analysis, (3) OS support for interactive debugging, and (4) OS support for surviving software failures.
In particular, my talk will focus on hardware support for bug detection and OS support for surviving software faults. In addition, I will briefly describe how to use data mining to extract programming rules and detect related bugs in large software including OS codes (Linux, FreeBSD) and server codes (Apache, MySQL) as well as our bug characterization and benchmarking initiatives.