Grant: Discovery Grants Program - Individual
Université du Québec à Chicoutimi
$25,000.00
Specification, verification and enforcement of interface contracts with data
FY 2015-16
Summary
An ""interface contract"" is a formal definition of what constitutes a valid interaction with a particular system over time. For example, a web browser running an application such as Facebook sends commands to the Facebook server and processes its responses to update its display. Similar to a real-world contract between two people, the interface contract clearly defines how the browser and the server are expected to converse with each other: which commands can be sent, what responses are expected, and even what values can be put into the various commands. Not following the contract by either side can result in the other side being thrown into an unexpected state. Similarly, the testing of spacecraft systems for the future Martian rovers involves the execution of thousands of commands and responses. These sequences of events are then searched for violations of a ""contract"" that hints at component malfunction.
Although not explicitly called as such, interface contracts are present in a wide variety of software systems. However, very little tools are available for developers and users to ensure contract compliance between communicating ""peers"". The proposed research program concentrates on the application of formal methods to software engineering. In particular, it aims to model, verify and enforce valid sequences of events generated by systems through the use of mathematical logic. Practical solutions to these problems present a potential of direct application in a wide range of domains. In term, a comprehensive analysis of trace validation and monitoring, taking into account sequential and data dependencies in interface contracts, could produce useful development, debugging and testing tools, and improve the safety and reliability of software systems.
Program
Discovery Grants Program - Individual
Recipient
Location
Quebec, Canada
Recipient Type
Academia
Type
Grant
Source
NSERC's Awards Data
As published
Application id
402236-2011
Name nom
Hallé, Sylvain
Department département
Informatique-mathématique
Organization id
52
Institution établissement
Université du Québec à Chicoutimi
Province en
Québec
Province fr
Québec
Country en
CANADA
Country fr
CANADA
Fiscal year exercice financier
2015
Competition year année de concours
2011
Award amount
25000
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
1507
Committee name en
Computer Science
Committee name fr
Sciences informatiques
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
Specification, verification and enforcement of interface contracts with data
Keyword
NSERC
Application summary
An ""interface contract"" is a formal definition of what constitutes a valid interaction with a particular system over time. For example, a web browser running an application such as Facebook sends commands to the Facebook server and processes its responses to update its display. Similar to a real-world contract between two people, the interface contract clearly defines how the browser and the server are expected to converse with each other: which commands can be sent, what responses are expected, and even what values can be put into the various commands. Not following the contract by either side can result in the other side being thrown into an unexpected state. Similarly, the testing of spacecraft systems for the future Martian rovers involves the execution of thousands of commands and responses. These sequences of events are then searched for violations of a ""contract"" that hints at component malfunction.
Although not explicitly called as such, interface contracts are present in a wide variety of software systems. However, very little tools are available for developers and users to ensure contract compliance between communicating ""peers"". The proposed research program concentrates on the application of formal methods to software engineering. In particular, it aims to model, verify and enforce valid sequences of events generated by systems through the use of mathematical logic. Practical solutions to these problems present a potential of direct application in a wide range of domains. In term, a comprehensive analysis of trace validation and monitoring, taking into account sequential and data dependencies in interface contracts, could produce useful development, debugging and testing tools, and improve the safety and reliability of software systems.