Current research projects

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.

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 ).

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. 

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.

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.

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.