Collaborative Research: Program Analysis Techniques to Support Dependable RTSJ Applications
Kansas State University, Manhattan KS
Investigators
Abstract
As part of the joint NSF/NASA High-Dependability Computing and Communication Systems Research effort, this project is developing, adapting and integrating a variety of program analysis techniques for the Real-time Specification for Java (RTSJ). RTSJ is an emerging language extension for Java that is designed for implementing concurrent time-critical embedded software, for example, the control software on NASA's robotic Mars rovers. This type of software is notoriously difficult to test and debug, and the model-checking, light-weight static and dynamic analysis techniques being developed as part of this project promise to identify bugs before software is deployed to the field and to produce systems that function more reliably. A cornerstone of this project is the use of controlled experimentation to judge the effectiveness of new analysis techniques. As part of this effort, RTSJ programs and experimental frameworks will be developed that support repeatable experimentation for determining analysis performance and the precision of analysis results. Experiment findings will drive the refinement of analysis techniques. Case studies using NASA testbed software will serve to evaluate the scalability and applicability to NASA-relevant software challenges. If successful, this project promises to provide developers of next generation real-time embedded software, both at NASA and throughout the embedded systems domain, with a suite of powerful quality-assurance tools that will allow them to more cost-effectively produce higher-quality systems. Given the pace at which software is being embedded in our society's infra-structure, this could have broad impacts on the degree to which we can rely on such systems.
View original record on NSF Award Search →