News

Model-IA, the future virtual assistant for programmers

24/04/2018
CEA List and UOC collaborate on the integration of Artificial Intelligence in software development tools

We live in a software-enabled world.

Software is everywhere: in your laptop, your phone, your car, your washing machine and all IoT devices you have at home. It is the “source code” that powers our digital society even if its instrumental role in the modern digital economy is often overlooked.

Yet, software development is in a permanent state of crisis. Improvements in programming tools, languages and methods have not been able to keep up with the increasing complexity, demands and trust we expect from all running software. As a result, a significant number of software projects are unsuccessful, fail shortly after its initial release or become vulnerable to security attacks (e.g. malicious code injections). The complexity will increase even further in the coming years with the need to develop software connecting all kinds of IoT devices, being able to process vast amounts of data almost in real-time and integrating Artificial Intelligence (AI) components for all kinds of reasoning and recognition tasks. Model-IA, a combined R&D initiative by CEA List and UOC, aims to change this situation.

Centaur developers, software bots and human creativity

An incremental improvement on current software development tools and techniques is not enough to correct this situation. Instead, Model-IA advocates for a radical shift in the way software is developed and maintained thanks to the integration of AI techniques in all software development tools and processes. AI holds the promise of disruptive improvements in productivity and quality of software development.

In our vision, in the future, mixed team of centaur developers and pure software bots will conduct all development tasks. Bots will take care alone of simple and repetitive tasks (where they can easily outperform humans) saving time for humans to spend on more creative endeavors. Centaur developers could rely on the AI components for advice and suggestions while retaining full control of the process and the final decision.

Combining Artificial Intelligence and model-based engineering

Moreover, this collaboration will not take place at the code level. Building complex systems requires a higher-level view of the system-to-be. Model-IA will integrate AI components at the very beginning of the development process, when the system is modeled, analyzed and simulated before the actual coding phase starts, in order to maximize its impact. As such, Model-IA will be the first tool ever combining AI and model-based engineering and aspires to become a leader in the emerging space of Intelligent IDEs  that focus on improving the productivity of individual developers by helping them to find and reuse existing code. Model-IA will be able to suggest improvements on your models based on general knowledge available online, prevent potential errors by continuously monitoring your actions or automatically choose and apply the best refactorings on your behalf.

There is no silver bullet for software development but we believe that our vision of centaur developers combined with swarms of bots offers a decent chance of success. With a global cost of software development estimated to be over one trillion dollars, we believe this project can have a significant impact on the growth of Europe's ICT. This is a high-risk project that requires mixing techniques from a number of fields but it holds the promise of a breakthrough in software development needed to cope with the growing complexity of new software systems.

The collaboration

Systems, Software and Models Lab (SOM) is a joint ICREA-UOC research team at Internet Interdisciplinary Institute (IN3) of the UOC. The group focuses on the broad area of systems and software engineering, especially promoting the rigorous use of software models and engineering principles in all software engineering tasks while keeping an eye on the most unpredictable element in any project: the people involved in it. More info: https://som-research.uoc.edu/

The List, a CEA Tech institute, carries out research on smart digital systems. Its R&D programs, all with potentially major economic and social implications, focus on advanced manufacturing, cyberphysical systems, artificial intelligence and digital heath. By developing cutting-edge technological research with applications in various industrial markets (transport, defense and security, manufacturing, energy…), the List helps its industrial partners to enhance their competitiveness through innovation and technology transfer. Thanks to the quality of its partnership research, the List has been labeled Carnot Institute since 2006 (Institut Carnot TN@UPSaclay).

More info: www-list.cea.fr/en | @CEA_List | LinkedIn | YouTube.