top of page

Research projects

NRC team is currently working on the following funded projects. Get in touch if you’re especially interested in any of them (we may even have open positions linked to them).

BOSS: Smart Bots for (Open Source) Software Development

– TED Spanish National Project 2023-2024

Software is the underlying infrastructure powering this transformation, and therefore it is critical for the daily activities and future evolution of our society. Most critical software is built as Open Source Software (OSS) or heavily relies on it. As a consequence, it is fair to say that OSS plays a significant role in the European Software economy, with digital businesses built by leveraging Open Source assets. The promise of OSS is better quality, higher reliability, more flexibility and lower cost. However, it suffers from problems such as the tragedy of the commons: everybody uses OSS but very few contribute back. As such, our digital infrastructure stands on shaky grounds, with critical software facing deep sustainability risks. These issues affect companies and public entities and hamper the potential benefits derived from this ongoing digital transition.

This project proposes for a radical shift in the way software is developed and maintained based on a self-guiding swarm of smart software bots to assist projects owners, developers but also occasional contributors and community members in all their software-related tasks. Bots will be trained using a variety of AI techniques, including machine learning models derived from a curated collection of software project data in code hosting platforms like GitHub.

The main goal of the project is Building, One Bot at a Time, a Unified Framework for Sustainable Software Development. More specifically, it aims to transform software development by providing a framework to model, generate, personalize, combine and coordinate smart software bots to help in all phases of software development and maintenance.

This overall objective will be met by way of achieving the following subgoals:

  • Building and training models from software historical data.

  • Defining languages to build and generate a smart bot infrastructure able to monitor and participate in software development, including the capability to communicate in Natural Language with the project community.

  • Enabling effective collaboration and cooperation among all smart bots deployed in the same project.

  • Providing guidelines and a library of prepackaged bots to facilitate the immediate adoption of BOSS in all kinds of public and private companies.

The results of this project will have a significant social, scientific and economic impact:

  • Social impact: empowering end users and speeding up the digital transition of our society. It will facilitate the participation of all types of users, in the evolution of any software project, which is especially important in the current context of transparency and participatory initiatives in the public administration.

  • Scientific impact: transforming software development, as the techniques developed will evolve the way that software projects are built and maintained, maximizing their chances of success.

  • Economic impact: providing competitive advantages to national companies and help them to be more agile. Another key long-term impact of the project should be to help other research projects to advance faster by developing a series of artifacts useful to other researcher teams working in this same area.

LOCOSS: Low-code development of smart software

– RETOS Spanish National Project 2021-2024

Artificial Intelligence (AI) has achieved remarkable levels of effectiveness in many domains. Examples are the use of chatbots for customer support; medical imaging to help doctors diagnose medical conditions or autonomous vehicles to assist drivers.

AI systems face common challenges in their development: they require a different and specialized skillset; they are hard to specify, test, verify and debug; and are complex to evolve and maintain. Explainability (the ability to justify the decisions made by AI components) and AI ethics (the ability to define and check ethical principles to be respected in such decisions, e.g. the lack of bias) are also of special importance.

Moreover, AI systems are almost always part of a larger software system that embodies them. This combination is usually referred to as AI-enhanced software or simply smart software. Currently, the AI part of smart software is developed separately from the rest. This poses additional challenges: defining the communication between the AI elements and the traditional ones, the end-to-end testing of the global system, their co-evolution, … This complexity can further increase the AI-divide between the tech giants and the rest of the World.

This research project aims to change this situation. Our goal is to simplify the specification, generation, testing, deployment and evolution of any type of smart software thanks to a LOw-COde development platform for Smart Software (LOCOSS).

Low-code application platforms accelerate software delivery by dramatically reducing the amount of hand-coding required. Low-code can be seen as a specific style of Model-Driven Engineering (MDE), a software development paradigm where models rather than source code are the core asset. Models provide an abstract and simplified view of a software system focused on a specific perspective. MDE raises the level of abstraction in software engineering with the benefits of higher quality, technology independence and reduced development costs.

As such, we propose to bring the power of low-code to the development of smart software. This combination has not been deeply studied so far. We believe it can disrupt how smart software is built, lowering the barrier entry to AI development, improving its quality and reducing the overall development effort.

To achieve this ambitious goal, the project will pursue these key research contributions:

  • A set of domain-specific languages to facilitate the specification of AI components (e.g. intelligent conversational interfaces, recommender services, …) and their interaction with the non-AI ones.

  • A model-based approach for training and optimizing the AI components as part of the smart software specification.

  • Explicit high-level formalization of complex non-functional requirements such as security, privacy or fairness, which may otherwise become implicit or scattered in the implementation.

  • Code-generation techniques to implement the AI components on top of state-of-the-art AI libraries isolating as much as possible the AI designer from low-level technical details.

  • Novel verification, validation and testing techniques to include the quality evaluation of AI components.

The results of this project will have a significant technical, economic and social impact by expanding the number of potential smart software developers and reducing the time-to-market for this type of software, improving the competitiveness of Spanish companies.

AIDOaRT

​– ECSEL EU

The project idea is focusing on AI-augmented automation supporting modeling, coding, testing, and monitoring as part of a continuous development in Cyber-Physical Systems (CPSs). The growing complexity of CPS poses several challenges throughout all software development and analysis phases, but also during their usage and maintenance.

Many leading companies have started envisaging the automation of tomorrow to be brought about by Artificial Intelligence (AI) tech. While the number of companies that invest significant resources in software development is constantly increasing, the use of AI in the development and design techniques is still immature.

The project targets the development of a model-based framework to support teams during the automated continuous development of CPSs by means of integrated AI-augmented solutions.

The overall AIDOaRT infrastructure will work with existing data sources, including traditional IT monitoring, log events, along with software models and measurements. The infrastructure is intended to operate within the DevOps process combining software development and information technology (IT) operations. Moreover, AI technological innovations have to ensure that systems are designed responsibly and contribute to our trust in their behaviour (i.e., requiring both accountability and explainability).

AIDOaRT aims to impact organizations where continuous deployment and operations management are standard operating procedures. DevOps teams may use the AIDOaRT framework to analyze event streams in real-time and historical data, extract meaningful insights from events for continuous improvement, drive faster deployments and better collaboration, and reduce downtime with proactive detection.

Learning Intelligent Systems

– eLearn Center Project 2019-2021

The main objective of this project (LIS) is to develop an adaptive system to be globally applicable at UOC campus to help students to succeed in their learning process. LIS supposed to be widely applicable to all types of courses and independently of the learning resources and contents. It mainly has predictive analytics, predictive progression dashboard, automated feedback and recommendations, and also gamification features designed upon Artificial Intelligence.

bottom of page