From object-oriented code with assertions to behavioural types

Cláudio Vasconcelos, António Ravara

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

5 Citations (Scopus)

Abstract

The widespread use of service-oriented and cloud computing is creating a need for a communication-based programming approach to distributed concurrent software systems. Protocols play a central role in the design and development of such systems but mainstream programming languages still give poor support to ensure protocol compatibility. Testing alone is insufficient to ensure it, so there is a pressing need for tools to assist the development of these kind of systems. While there are tools to verify statically objectoriented code equipped with assertions, these mainly help to prevent runtime errors. However, a program can be illbehaved and still execute without terminating abruptly. It is important to guarantee that the code implements correctly its communication protocol. Our contribution is a tool to analyse source code written in a subset of Java, equipped with assertions, and return it annotated with its respective behavioural types that can be used to verify statically that the code implements the intended protocol of the application. A running example illustrates each step of the tool.

Original languageEnglish
Title of host publication32nd Annual ACM Symposium on Applied Computing, SAC 2017
PublisherACM - Association for Computing Machinery
Pages1492-1497
Number of pages6
VolumePart F128005
ISBN (Electronic)9781450344869
DOIs
Publication statusPublished - 3 Apr 2017
Event32nd Annual ACM Symposium on Applied Computing, SAC 2017 - Marrakesh, Morocco
Duration: 4 Apr 20176 Apr 2017

Conference

Conference32nd Annual ACM Symposium on Applied Computing, SAC 2017
Country/TerritoryMorocco
CityMarrakesh
Period4/04/176/04/17

Keywords

  • Assertions
  • Behavioural types
  • Object-oriented programming

Fingerprint

Dive into the research topics of 'From object-oriented code with assertions to behavioural types'. Together they form a unique fingerprint.

Cite this