Languages & Software Engineering the GPL CNRS...
Transcript of Languages & Software Engineering the GPL CNRS...
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 GraphicsInformatique Géométrique et Graphique, Réalité Virtuelle et Visualisation
• IM : Computer Science and MathematicsInformatique Mathématique
• ISIS : Information, signal, images, vision
• MADICS : Big data and data scienceMasses de Données, Informations et Connaissances en Sciences
• MAGIS : Geographical Information SystemsMé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 systemsRéseaux et Systèmes Distribués
• IA : Formal aspects and algorithms of AIAspects Formels et Algorithmiques de l’Intelligence Artificielle
• Sécurité : SecuritySé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
Nice
Caen
Lille, Lens, Valenciennes
Nancy
Clermont-Ferrand
Grenoble
Bordeaux
UniversitéParis-Saclay
SorbonneUniversités
UniversitéParis Seine
669
Dijon
203
Paris Scienceset Lettres
Sorbonne Paris Cité
Marseille
Toulouse
166
Totalgénéral
256
11 010
International
268
925
1188
355
290
80
Montpellier
239
Compiègne
662
197
141
403
Mise à jour : juillet 2016
Nantes
226
Brest
421
545
720
Strasbourg
Lyon
278
523
Rennes734
1495
5
Répartition géographique des personnes dans des structures INS2I
Nice
Caen
Lille, Lens, Valenciennes
Nancy
Clermont-Ferrand
Grenoble
Bordeaux
UniversitéParis-Saclay
SorbonneUniversités
UniversitéParis Seine
669
Dijon
203
Paris Scienceset Lettres
Sorbonne Paris Cité
Marseille
Toulouse
166
Totalgénéral
256
11 010
International
268
925
1188
355
290
80
Montpellier
239
Compiègne
662
197
141
403
Mise à jour : juillet 2016
Nantes
226
Brest
421
545
720
Strasbourg
Lyon
278
523
Rennes734
1495
GDR GPL Network
800
6
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
8
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
Compilation
LaMHA
Code generation
10
Research groups• LTP: Logics, Type and Proofs
• MFDL: Formal Methods
• MTV2: Testing
• Compilation
• LaHMA: Languages and Models for parallel applications
11
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
Compilation
LaMHAGLACEAFSEC ALROB
Self constructionEnergy
optimizationEmbedded & RT
systems
Code generation
12
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
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
LaMHAGLACEAFSEC ALROB
GLE
RIMEL
Self constructionEnergy
optimizationEmbedded & RT
systems
Reverse engineering
Automatic bug
correctionCode
generation
14
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
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
LaMHAGLACEAFSEC ALROB
GLE
IDM
SdS
RIMEL
IE
Self constructionEnergy
optimizationEmbedded & RT
systems
Modelling complex systems
Reverse engineering
Model driven
development
Automatic bug
correctionCode
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
18
• virtual lab to create a community
• to organise workshops
• to get people to work together
• to identify emerging fields and new challenges
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
21
SdS à logiciel prépondérant
10"
Energy
Water
Air Transportation
Missile Defense
3! Def
inin
g So
ftw
are-
inte
nsiv
e Sy
stem
s-of
-Sys
tem
s
• 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 ?
Challenges
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