This report presents initial results in the area of software testing and analysis produced as part of the Software Engineering Impact Project.
The report describes the historical development of runtime assertion checking, including a description of the origins of and significant features associated with assertion checking mechanisms, and initial findings about current industrial use.
The study and promulgation of assertions remains an active endeavor for researchers and practitioners alike. One of the most promising recent developments in research with assertions is the automatic discovery of likely program invariants, and the related technique of correlating failure data with execution history data from field installations of software systems to help isolate program faults.
The automated reporting of failure data from the field is already a staple of many commercial software systems, albeit in rudimentary form (as evidenced by periodic requests to the user for consent to report data from Microsoft Windows XP, Apple Mac OS X, and other systems).
It remains to be seen how well some of the more sophisticated approaches will be able to scale for sufficient impact on development practice.
(To read this external content in full, download a copy of this paper from the University College London on line author archives. )