|Name:||Dr Christian Colombo|
|Designation:||Lecturer, University of Malta|
|Title:||Harnessing Sophisticated Assertion Checking Through Runtime Testing|
Abstract: No matter how much effort is put into testing, one can never be sure that the system under test will behave according to the requirements. Typically, once the system is deployed, little or no checking is performed to ensure that the system has not deviated from the expected behaviour. If the system does deviate, the system administrator might not be able to immediately detect any problems. For example a few pence’ error in financial transactions originating from a particular country might go unnoticed for a long while until an audit discovers an accumulated discrepancy. The solution to this problem is to somewhat perform an ongoing audit of the system’s behaviour where any deviations are instantly visible.
Many test engineers are familiar with the concept of an assertion – explicitly stating assumptions which should hold throughout a system’s execution, and automatically raising an alarm if an assumption fails. Indeed, assertions do provide a means of ongoing auditing but they are severely limited in the expressive power they provide. However, using only basic assertions, simple checks such as those involving ordering and timing of events, would quickly clutter the code they are meant to check.
Using the specialised technology of runtime testing based on aspect-oriented programming, complex assertions can be expressed elegantly, easily, and without changing the source code – facilitating ongoing testing throughout the lifetime of a system, relieving some of the pressure off pre-deployment testing.
Biography: Christian lectures at the University of Malta with a number of published papers in the area of runtime verification. In his research, he has developed a monitoring tool called Larva and applied it to industrial Java systems handling financial transactions. Recently, he has been exploring ways in which the closely related areas of runtime verification and testing can benefit from each other.