28
Languages & Software Engineering the GPL CNRS Research Group Pierre-Etienne Moreau - Université de Lorraine GDR GPL 1

Languages & Software Engineering the GPL CNRS …gdr-gpl.cnrs.fr/sites/default/files/documentsGPL/DocumentsDuGDR... · Languages & Software Engineering the GPL CNRS Research Group

  • Upload
    vominh

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

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

How to develop and maintain software?

Methods and tools

7

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

Research groups• LTP: Logics, Type and Proofs

• MFDL: Formal Methods

• MTV2: Testing

9

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

Special thanks

Jean-Marc Jézéquel Main contributor to the GDR GPL

28