Grant: Discovery Grants Program - Individual
Bishop's University
$15,000.00
A unified approach to real-time specification, verification, and analysis: finite models and beyond
FY 2012-13
Summary
Software verification is more or less an empirical process in today's industrial practice: Tests are applied to software in the hope that these tests cover most of the functionality and thus discover most (but certainly not all) of the bugs. Another approach is conformance testing (our interest): A piece of software is checked against a formal model (the specification) in a fully automated (and efficient) manner. In a first variant (model checking), the specification consists in a logical formula, which is checked against the implementation; in a second variant (model-based testing) the specification takes an algebraic form and is then compared with the implementation either directly or via systematic test suites.
We note that the way we express the specification takes either a logical, or an algebraic, but never a mixed form. However, a mixed approach is often the best way to go in practice. We plan to continue recent work to unify the two variants, and so to induce practical applications of mixed specifications in the area of real-time systems (systems in which correctness implies not only correct output but also correct timing of the output).
We also note that current conformance testing methods are based on finite state techniques. This is adequate for verification of hardware and communication protocols, but less so for complex application software. A second direction of our research is thus the investigation of conformance testing with context-free techniques.
Real-time systems are ubiquitous nowadays, from traffic light controllers to the fly-by-wire systems found in all the commercial airliners. Often their misbehavior leads to loss of property and/or life. Our investigation into finite-state real-time conformance testing will ease the adoption of such techniques in industry; this will eventually lead to more and more robust implementations of often critical computing systems. Our investigation of context-free conformance testing will extend the above benefits to a wider range of software systems; our research has the potential of eventually eliminating the dreaded Blue Screen of Death from our desktop machines and - most importantly - from critical computing systems.
Program
Discovery Grants Program - Individual
Recipient
Location
Quebec, Canada
Recipient Type
Academia
Type
Grant
Source
NSERC's Awards Data
As published
Application id
262103-2008
Name nom
Bruda, Stefan
Department département
Computer Science
Organization id
45
Institution établissement
Bishop's University
Province en
Québec
Province fr
Québec
Country en
CANADA
Country fr
CANADA
Fiscal year exercice financier
2012
Competition year année de concours
2008
Award amount
15000
Program id
RGPIN
Program name en
Discovery Grants Program - Individual
Program name fr
Programme de subventions à la découverte - individuelles
Group en
Discovery grants programs
Group fr
Programmes de subventions à la découverte
Committee code
330
Committee name en
Computing and Information Sciences - A
Committee name fr
Informatique - A
Area of application code
801
Area of application group en
Information and communication services
Area of application group fr
Services d'information et de télécommunications
Area of application en
Computer software
Area of application fr
Logiciel
Research subject code
2706
Research subject group en
Information technology
Research subject group fr
Technologie de l'information
Research subject en
Software engineering
Research subject fr
Génie logiciel
Partie
5
Nb partie
5
Application title
A unified approach to real-time specification, verification, and analysis: finite models and beyond
Keyword
NSERC
Application summary
Software verification is more or less an empirical process in today's industrial practice: Tests are applied to software in the hope that these tests cover most of the functionality and thus discover most (but certainly not all) of the bugs. Another approach is conformance testing (our interest): A piece of software is checked against a formal model (the specification) in a fully automated (and efficient) manner. In a first variant (model checking), the specification consists in a logical formula, which is checked against the implementation; in a second variant (model-based testing) the specification takes an algebraic form and is then compared with the implementation either directly or via systematic test suites.
We note that the way we express the specification takes either a logical, or an algebraic, but never a mixed form. However, a mixed approach is often the best way to go in practice. We plan to continue recent work to unify the two variants, and so to induce practical applications of mixed specifications in the area of real-time systems (systems in which correctness implies not only correct output but also correct timing of the output).
We also note that current conformance testing methods are based on finite state techniques. This is adequate for verification of hardware and communication protocols, but less so for complex application software. A second direction of our research is thus the investigation of conformance testing with context-free techniques.
Real-time systems are ubiquitous nowadays, from traffic light controllers to the fly-by-wire systems found in all the commercial airliners. Often their misbehavior leads to loss of property and/or life. Our investigation into finite-state real-time conformance testing will ease the adoption of such techniques in industry; this will eventually lead to more and more robust implementations of often critical computing systems. Our investigation of context-free conformance testing will extend the above benefits to a wider range of software systems; our research has the potential of eventually eliminating the dreaded Blue Screen of Death from our desktop machines and - most importantly - from critical computing systems.