APIs (Application Programming Interfaces) are outward facing, software membranes that enable software components to interact and overcome incompatibilities due to platforms, languages, data structures and storage formats. APIs have disrupted how software is developed and drastically altered how various markets and industries operate, such as banking, gaming and tourism.
This innovation has also lead to the API economy, where specialist entities offer services via APIs that may be invoked to carry out a variety of tasks, ranging from facial recognition, telephony, global mapping and positioning, deep learning, and an assortment of financial services. In spite of its successes, API software construction still faces challenges, that often result in latent bugs manifesting themselves long after the software is deployed. In fact, APIs are scantily documented, seldom well-maintained, and their inter-connections (to the components implementing them and the APIs they interact with) are poorly understood.
'Behavioural Application Program Interfaces' (BEHAPI) is a four-year international project, involving a consortium of 20 academic and industrial partner from across Europe, North America and South America. It aims to develop technologies for augmenting APIs with behavioural information to assist software construction, facilitate software verification and expedite deployment. The proposed behavioural information elevates flat APIs to a graph structure of services that can be formally specified, inferred, composed and analysed. BEHAPI aims to incorporate these behavioural APIs into the mainstream programming languages and development frameworks used in industry.
The project is financed by the European Union as part of the Marie Sklodowska-Curie Research & Innovation Staff Exchange Programme.
For the first time, the University of Malta will operate as the lead partner on such an H2020 European project, where Dr Adrian Francalanza from the Department of Computer Science will act as the Principal Coordinator.
Apart from coordinating the project, the Department of Computer Science at the University of Malta will be collaborating with Carnegie Mellon University and the University of Illinois (Urbana Champaign) from the US, and the European Universities of Leicester, Kent, Lisbon, Bologna and Torino to focus on one aspect of the project, developing state of the art theory and tools to seamlessly verify these behavioural APIs both statically (before the software is deployed) and dynamically (while the software is executing).
