Testability of Object-Oriented Systems
Funded by: National Institute of Standards and Technology
Summary
Software productivity today is becoming increasingly dependent on the ability to develop dependable, reusable, object-oriented components. RST proposes and innovation that addresses the problem of developing more reliable, dependable software systems. Specifically, we address the problem that it is difficult, maybe impossible, to test these ever-more-complex software systems for the required levels of ultra- reliability. To further worsen the problem, today's object oriented design techniques have the ability to decrease testability through the extensive use of information hiding, thereby further increasing the testing requirements of these systems. RST's solution for combating this is through the use of intelligently placed software assertions which verify the internal states of encapsulated information.
RST will use dynamic software testability assessment to determine the locations within a software system that can benefit the most from the use of software assertions. These software assertions are used to verify portions of the internal state of the program that would normally be hidden from observation through the use of object oriented encapsulation and information hiding. The final product of this effort will be a prototype Testability Improvement System (TIS) that utilizes this technology to produce software that is more testable, and ultimately, more reliable.
