Past research projects

D3-CPS: Distributed Software Technologies for Developing & Managing Dependable Cyber-Physical Systems (01/2018 to 12/2021)

In response to strong industry demand, the D3-CPS project aims to drastically rethink the way that distributed CPS applications are developed and managed. The overall objective of D3-CPS is to support software businesses in exploiting the potential of CPS. Our goal is to lower the boundary of CPS development by drastically reducing the effort required to develop and manage (i.e. coordinate, monitor, and reconfigure) distributed CPS applications. However, we do also want to guarantee that distributed CPS applications execute within safe boundaries of time (e.g. responsiveness) and quality (e.g. consistent and accurate operation). 

SECO-Assist: Automated Assistance for Developing Software in Ecosystems of the Future (01/2018 to 12/2021)

Software ecosystems are the most promising avenue for organising the software needs of the digital era. SECO-ASSIST aims to realise a scientific breakthrough to nurture the ecosystems of the future, by providing novel software recommendation techniques that address the resilience, evolvability, heterogeneity, and social interaction. To achieve this, the partners of this FWO-FNRS funded EOS project will combine their expertise in social networks (UMONS), software testing (UAntwerpen), software reuse (VUB) and database evolution (UNamur). 

INTiMALS: Intelligent Modernisation Assistance for Legacy Software (01/2018 to 12/2020)

The goal of this Innoviris-funded TeamUp project is to research and deploy novel pattern mining algorithms in an industrial prototype of an intelligent modernisation assistant for legacy software systems. The assistant pro-actively recommends software engineers source code modernisation actions by comparing their current development efforts with insights gained by treating source code repositories as data . The assistant draws its intelligence from continuously mining for previously unknown patterns in the current state and structure of the system’s source code (programming idioms, coding conventions, library usage protocols) and in changes made to this code (systematic edits, repetitive changes). The proposed modernisation actions appear increasingly informed as the recommendation assistant uncovers and refines more patterns in the code, version and change repositories it mines. The success of the modernisation assistant hinges on the quality of the pattern mining algorithms it incorporates and their ability to improve their results by learning from their interaction with the software engineers.

Tearless: Secure Coordination of Rich Internet Application Tiers (01/2016 to 12/2019)

There is an increasing demand for web-based services that offer collaborative and off-line functionality, and this at unparalleled global scales. Realizing these qualities requires distributing previously centralized application logic and state both vertically and horizontally. Both forms of distribution bring about the essential complexity of maintaining the consistency and safeguarding the security of replicated or shared application assets, along with the accidental complexity of reconciling a myriad of heterogenous tier-specific technology. The Tearless project therefore envisions a future in which multi-tier web applications are developed, tested and maintained as a single artefact that spans all tiers. This tierless programming should relieve developers of distribution, consistency and security concerns. We will not pursue this vision through a new and potentially esoteric programming language. Instead, we will pursue a two-pronged solution of enabling technologies & development tooling. This enables the gradual incorporation of our technology in existing code, and maximizes valorization opportunities for different stakeholders.

FLAMENCO (01/2016 to 12/2019)

The goal of FLAMENCO is to build and valorise an open reusable and reconfigurable citizen observatory platform for Flanders. Through this platform, (ICT-agnostic) stakeholders themselves can instantiate new citizen observatories for the particular application area they have in mind. Web services and mobile apps are generated accordingly. Data gathered involves sensorial data (e.g., noise levels, physical activity) as well as behavioural data (e.g., tolerance for delays in public transportation or sensitivity to public safety). In this scalable approach stakeholders see their concerns translated into procedures for successful participatory campaigning without having to rely on platform engineers. Only in this way can we move away from research-oriented deployments to the full-fledged adoption of citizen observatories as a societally and scientifically relevant method. 

MetaConc (Towards Meta-Level Engineering and Tooling for Complex Concurrent Systems) (01/2016 to 12/2018)

MetaConc is a FWO joint project in collaboration with the Institute for System Software at the Johannes Kepler Universität Linz (JKU) in Austria. It aims to explore language support that captures the interaction amongst concurrency models in order to deliver the concepts needed to support tools. In particular, we investigate both language implementation support to capture essential properties of concurrency models (research led by JKU's group), and debugging support built on top of such substrate to assist developers in finding errors, and improving program comprehension of complex concurrent systems (research led by SOFT ).

Foundations of programming models for next-generation computing platforms (01/2014 to 12/2018)

This strategic research plan has the goal to focus on fundamental research topics to improve the scientific output of the Software Languages Lab. A large part of the research conducted at the Software Languages Lab can be divided over three domains: Ambient Oriented Programming, Parallel Programming and Cloud Computing. The research project aims to simultaneously improve the research in these three domains based on the high degree of congruency between them.  Concretely, this proposal will focus on three fundamental questions that apply over the three domains. First, how to harness concurrency and orchestrate the interaction between a large number of computations. Second, how to control the data distribution between a large number of concurrently executing processes. Finally, how to development formally grounded tools to assist the programmer to detect and fix bugs early on in the development process. In order to successfully answer these questions formal methods such as type systems, contracts, symbolic execution and model verification will be applied.

SMILE-IT: Stable Multi-agent learning for networks (01/2015 to 12/2018)

Agent-driven networks, consisting of many collaborating and competing (human and machine) agents, can be found in a wide range of problem areas, such as telecommu- nications, smart grids, smart cities, traffic guidance, and flight control. As the complexity and size of these networks increases, automated techniques for configuring, guiding, and managing them become increasingly important, in order to limit operational costs and guarantee optimality. The SMILE-IT project aims to develop such an automated network management framework, based on multi-agent reinforcement learning (MARL) techniques.

SeCloud (09/2015 to 08/2018)

Confidentiality and integrity of data is paramount to applications that are hosted in the cloud and to applications that interact with other cloud services. The SeCLoud project therefore investigates a security-first and holistic approach to engineering such cloud- based applications. To this end, its 11 academic partners cover security from the complementary perspectives of secure architecture (e.g., patterns), secure infrastructure (e.g., encryption), secure programming technology (e.g., vulnerability checking) and secure processes (e.g., requirements engineering and legal aspects). VUB-SOFT leads the secure programming technology perspective, to which we bring our expertise in dynamic and static analysis of JavaScript programs. 

SPICES: 'Scalable processing and mining of complex events for security-analytics'. (02/2015 to 01/2018)

The overall goal of SPICES is to design an open reusable platform specifically targeted towards security process monitoring, based on the notion of complex event processing (CEP). Within SOFT we envision (1) the design of a reactive CEP security language (2) The design of a change language which identifies new threats and attacks while the system is running; and (3) the implementation of a multi-pattern optimizer on top of a scalable (i.e. multicore), distributed (i.e. cloud) execution platform to manage the processing of a vast amount of events.

GRAVE: Gradual verification of event-driven programs (01/2013 to 12/2016)

Gradual Verification of Event-driven: More and more, computer applications need to deal with multiple input streams and utilize distributed hardware, to access an ever growing range of consumer and business services in the cloud and in corporate networks. The development of such programs is encumbered by concurrency pitfalls such as race conditions and deadlocks, and distribution hazards such as connection failures and the lack of a single coordinating entity. In this project, we investigate these challenges and develop reasoning principles and tooling strategies to address them.

Cart-ASUR (01/2012 to 12/2016)

The purpose of the CartASUR (Représentations Cartographiques de la qualité des Ambiances Sonores Urbaines: acceptabilité des Cartes) research project in which SOFT is a subcontractor is to develop a tool capable of creating sound maps representing the urban soundscape at different spatial scales of the city (such as major roads and neighborhoods) as well as different time scales (such as a time period within a year or the time of day). This tool can help policy makers to enrich noise levels with perceptual and geographic indicators. Hence, soundscapes in urban public space are enriched with sense of pleasure/discomfort perceived by its citizens. Noise level indicators are currently defined on a yearly and national scale and do not incorporate citizen perception. We hypothesise that noise level indicators can be constructed from perceived data (citizen-supplied data transmitted via their mobile phone), from acoustic data (measurements taken of the changing sound level over time), and from other georeferenced data (collected from local authorities). The aggregated data will allow policy makers to better take into account the effect of noise on the quality of life. Additionally, this tool can be used by citizens to govern their own city. 

Cha-Q: Change-centric Quality Assurance (01/2013 to 12/2016)

The constant need for change in software drives the manner in which modern software is developed, as evidenced by the trend towards iterative and agile development processes. Automated testing approaches, bug trackers and static analyses still start from the fundamental assumption that they act upon a single, complete release of the system. As a result, there exists a remarkable disparity between the trend towards embracing change and the tools used by today’s software engineers. The main objective of the Cha-Q (Change-centric Quality Assurance) project is therefore to devise innovative tools that enable change-centric software development.

Exascience Life (01/2013 to 12/2015)

ExaScience Life is a large interdisciplinary IWT project, set up as a collaboration between the five Flemish universities and two industrial partners: Intel and Janssen Pharmaceutica. The broad topic of ExaScience Life is to explore scientific applications for the next generation of supercomputers. Today, we are building peta-FLOP scale supercomputers, for the next decade we are expecting exascale. Such massive increase in processing power unlocks new types of scientific applications, exascale computing is therefor seen as a new driving force for scientific discoveries.

COGNAC: Coordination and Ownership in Graphs Networked Actors (01/2011 to 12/2015)

The aim of the COGNAC project is to build upon a formal actor-based concurrency model to provide gradual type system support that statically and dynamically reifies the ownership and location information present in remote object designation concepts. This offers coordination abstractions, such as ambient contracts, that simplifies the programmers task of developing and securing applications for devices that cooperate over intermittent network connections.