Languages & Software Engineering the GPL CNRS Research Group Pierre-Etienne Moreau - Université de Lorraine GDR GPL 1
INS2I CNRS composed of 10 Institutes INS2I : Institute for Information Sciences and Technologies 50 research units 12 Research Networks 2
GDR : Research Networks BIM : Bioinformatics Bioinformatique moléculaire IG-RV : Computer Graphics Informatique Géométrique et Graphique, Réalité Virtuelle et Visualisation IM : Computer Science and Mathematics Informatique Mathématique ISIS : Information, signal, images, vision MADICS : Big data and data science Masses de Données, Informations et Connaissances en Sciences MAGIS : Geographical Information Systems Méthodes et Applications pour la Géomatique et l Information Spatiale 3
Research Networks RO : Operational Research Recherche Opérationnelle Robotique RSD : Networks and distributeur systems Réseaux et Systèmes Distribués IA : Formal aspects and algorithms of AI Aspects Formels et Algorithmiques de l Intelligence Artificielle Sécurité : Security Sécurité Informatique GPL : Languages & Software Engineering Génie de la Programmation et du Logiciel 4
Répartition géographique des personnes dans des structures INS2I 720 Lille, Lens, Valenciennes Total général 11 010 Caen 203 141 Compiègne Nancy International 80 545 Brest Rennes 734 669 278 Strasbourg Nantes 421 166 Dijon Clermont-Ferrand 197 523 Lyon Université Paris Seine Sorbonne Universités Université Paris-Saclay 256 662 1495 268 239 Sorbonne Paris Cité Paris Sciences et Lettres 290 Bordeaux Toulouse 925 Montpellier 403 1188 355 226 Marseille Grenoble Nice Mise à jour : juillet 2016 5
Répartition géographique des personnes dans des structures INS2I GDR GPL Network 720 Lille, Lens, Valenciennes Total général 11800 010 Caen 203 141 Compiègne Nancy International 80 545 Brest Rennes 734 669 278 Strasbourg Nantes 421 166 Dijon Clermont-Ferrand 197 523 Lyon Université Paris Seine Sorbonne Universités Université Paris-Saclay 256 662 1495 268 239 Sorbonne Paris Cité Paris Sciences et Lettres 290 Bordeaux Toulouse 925 Montpellier 403 1188 355 226 Marseille Grenoble Nice Mise à jour : juillet 2016 6
How to develop and maintain software? Methods and tools 7
LTP MFDL MTV2 Formal methods Algorithms, languages Types and proofs Safety Efficiency Generating tests Develop Software Maintenance Evolution Parallelism Physical devices Hardware and software systems 8
Research groups LTP: Logics, Type and Proofs MFDL: Formal Methods MTV2: Testing 9
LTP Types and proofs Generating tests MFDL MTV2 Formal methods Algorithms, languages Program analysis Compilation Code generation Safety Efficiency Parallelism Develop Software Maintenance Physical devices Evolution LaMHA Hardware and software systems 10
Research groups LTP: Logics, Type and Proofs MFDL: Formal Methods MTV2: Testing Compilation LaHMA: Languages and Models for parallel applications 11
LTP Types and proofs Generating tests MFDL MTV2 Formal methods Algorithms, languages Program analysis Compilation LaMHA AFSEC Code generation Safety Efficiency Embedded & RT systems Parallelism Develop Software Hardware and software systems Maintenance Physical devices Energy optimization Evolution ALROB Self construction GLACE 12
Research groups LTP: Logics, Type and Proofs MFDL: Formal Methods GLACE: Cyber Physical Systems - Internet of Things MTV2: Testing Compilation LaHMA: Languages and Models for parallel applications AFSEC: Formal approaches for Embedded systems ALROB: Robotics and autonomous computing 13
Develop Software Safety Maintenance Efficiency Evolution Parallelism Physical devices Types and proofs Formal methods Algorithms, languages Hardware and software systems Generating tests LTP MFDL MTV2 Program analysis Program transformation Compilation LaMHA GLACE AFSEC ALROB GLE RIMEL Self construction Energy optimization Embedded & RT systems Reverse engineering Automatic bug correction Code generation 14
Research groups LTP: Logics, Type and Proofs MFDL: Formal Methods MTV2: Testing Compilation LaHMA: Languages and Models for parallel applications GLACE: Cyber Physical Systems - Internet of Things RIMEL: Reverse engineering, maintenance and evolution GLE: Empirical Software Engineering AFSEC: Formal approaches for Embedded systems ALROB: Robotics and autonomous computing 15
Develop Software Safety Maintenance Efficiency Evolution Parallelism Physical devices Types and proofs Formal methods Algorithms, languages Hardware and software systems Generating tests LTP MFDL MTV2 Program analysis Program transformation Compilation LaMHA GLACE AFSEC ALROB GLE IDM SdS RIMEL IE Self construction Energy optimization Embedded & RT systems Modelling complex systems Reverse engineering Model driven development Automatic bug correction Code generation 16
Research groups LTP: Logics, Type and Proofs MFDL: Formal Methods MTV2: Testing Compilation LaHMA: Languages and Models for parallel applications AFSEC: Formal approaches for Embedded systems ALROB: Robotics and autonomous computing GLACE: Cyber Physical Systems - Internet of Things RIMEL: Reverse engineering, maintenance and evolution GLE: Empirical Software Engineering SdS: System of Systems IE: Requirements Engineering IDM: Model Driven Development 17
Research Network virtual lab to create a community to organise workshops to get people to work together to identify emerging fields and new challenges 18
Some challenges in Software Engineering Technique et science informatiques no 34, vol 3 Défis 2025 19
Systems of Systems emerging research field: 75% publication since 2012 systems composed of independent systems new systems can be added exiting systems may evolve or be deleted 20
Energy Defining Software-intensive Systems-of-Systems Water Missile Defense Air Transportation 3! Challenges 10" which concepts, languages and tools to build or analyse such systems? how to make these systems self-adapting? how to ensure properties such as security? 21
Large scale variability in 2015, there was more than 24000 distincts android devices (18000 in 2014, 11000 in 2013) data centers, sensor networks are diverse Challenge: How to automatically adapt software developed for one customer/platform, to another one? 22
Multi core systems computers embed many multi-core devices such as GPU how to ensure portability of code and portability of efficiency? Challenge: invent new high-level languages to express parallelism 23
Software Energy Consumption we need to optimise energy consumption difficult to profile energy consumption of software, and more generally systems Challenge: understand how software can reduce energy consumption of a system energy consumption depends on data transfert Challenge: invent new languages to express and control data transfert 24
Software Verification in 2013, the Coq Proof assistant received the ACM SIGPLAN Programming Languages Software Award Coq has been in continuous development for over 20 years, some contributors are deeply involved in the GDR GPL community there is still a lot of things to do 25
Some challenges of Software Verification how to guarantee a system that will evolve, adapt itself to its environment? how to share and reuse proofs done in different formalisms? can we build self-repairing programs? 26
GDR GPL Software development has made a lot of progress in the last 30 years There is a clear need for self-adapting software We need to understand how to build them, how to analyse them, and how to certify them Language and Software Engineering community is essential 27
Special thanks Jean-Marc Jézéquel Main contributor to the GDR GPL 28