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 language | English |
---|---|
Title of host publication | 32nd Annual ACM Symposium on Applied Computing, SAC 2017 |
Publisher | ACM - Association for Computing Machinery |
Pages | 1492-1497 |
Number of pages | 6 |
Volume | Part F128005 |
ISBN (Electronic) | 9781450344869 |
DOIs | |
Publication status | Published - 3 Apr 2017 |
Event | 32nd Annual ACM Symposium on Applied Computing, SAC 2017 - Marrakesh, Morocco Duration: 4 Apr 2017 → 6 Apr 2017 |
Conference
Conference | 32nd Annual ACM Symposium on Applied Computing, SAC 2017 |
---|---|
Country/Territory | Morocco |
City | Marrakesh |
Period | 4/04/17 → 6/04/17 |
Keywords
- Assertions
- Behavioural types
- Object-oriented programming