• No results found

RMoD Software Remodularisation

N/A
N/A
Protected

Academic year: 2021

Share "RMoD Software Remodularisation"

Copied!
26
0
0

Loading.... (view fulltext now)

Full text

(1)

!"#$

RMoD

Software

Remodularisation

Research Theme: Communicating systems

COM A:

Project Proposal USTL/LIFL-INRIA

9 June 2007

(2)

Outline

!

Building on expertise

!

RMoD

! Team

! Challenges and objectives ! Foundations

! Application domains ! Research Agenda

!

Collaborations and grants

! International collaborations ! National collaborations

! International and INRIA positioning ! Publications and software

(3)

Building on expertise

!

Supporting software evolution and software composition

!

Two axes

! Reengineering software systems ! Language infrastructure

(4)

Reengineering

Topics

Metamodeling, Software metrics,

Program understanding,

Visualization, evolution analysis, Dcode detection,

Code analysis, Refactorings...

Contributions

Moose: an open-source extensible reengineering

environment: (Lugano, Bern, Annecy, Anvers, Louvain la

neuve, ULB, UTSL)

Contacts

Harman-Becker (3 Millions C++), Bedag (Cobol), Nokia,

Representation Transformations Reverse

Engineering

Analyses

(5)

Representation Transformations Reverse

Engineering

Analyses

Evolution Language Independent Meta

Model [UML’99] An Extensible Reengineering Environment (Moose) [Models’06] Reengineering Patterns Version Analyses [ICSM’05] HISMO metamodel [JSME’05]

Understanding Large Systems

[WCRE’99, TSI’00, TSE’03]

Static/Dynamic Information [ICSM’99] Feature Analysis [JSME ‘06] Class Understanding [OOPSLA’01,TSE’04] Package Blueprints [ICSM’07] Distribution Maps [ICSM’06] Software Metrics [LMO’99, OOPSLA’00]

Duplicated Code Identification

[ICSM’99, ICSM’02] Group Identification [ASE’03] Test Generation [CSMR’06] Concept Identification [WCRE’06] Language Independent Refactorings [IWPSE’00]

(6)

Language infrastructure

La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer. St-Exupery

Subjects

Components for field devices (Pecos IST Project)

Classboxes: Modules for open-classes [OOPSLA’05]

OOPAL: OOP + APL Generalizing message passing - [OOPSLA’03]

Language symbiosis (Jour. Program)

Encapsulation for dynamic languages [ECOOP ‘04, OOPSLA’04]

Reusable behavior: Traits [ECOOP’03, OOPSLA’03, Toplas, ..., OOPSLA’07]

Impacts

Traits used by

Fortress (SUN Microsystems), Scala (EPFL), Perl-6,

Squeak, Slate, Dr-Scheme

(7)

Outline

!

Building on an expertise

!

RMoD

! Team

! Challenges and objectives

! Foundations

! Application domains

! Research Agenda

!

Collaborations and grants

! International collaborations ! National collaborations

! International and INRIA positioning ! Publications and software

! Programme committees and conference organisations

(8)

Team

!

Permanent Staff

! S. Ducasse, DR2 INRIA ! A. Bergel, CR2 INRIA

!

Post doctoral Fellows

! S. Denier (Sept 2008 - Projet région System@tic Qualité logicielle)

!

External collaborators @@ not sure to keep@@

! R. Wuyts, Pr, IMEC-KUL (under building)

(9)

Team

!

PhD students

! M.Suen (DGA-CNRS / Security in dynamic languages) ! A. Abdeen (ANR / Package Analyses)

! J. Menanteau (Sept 2008 / Projet region Qualité logicielle)

!

Other PhD students

! H. Fernandes (salarié - 30 % co-tutelle Listic Univ. Savoie) ! A Razavizadeh (20 % co-tutelle Listic Univ. Savoie)

(10)

Challenges and objectives

!

How to help development teams to maintain and evolve

their software programs?

! What are the analyses? ! How to identify problems? ! How to display results? ! How to support decisions?

! What language constructs to support better composition and evolution?

(11)

Typical large scale long living systems!

Large: couple thousands of classes

Large: 2s per line of 1M LOC system = 3 months!

Undocumented

Knowledge loss

Lack of structure overview (layers, cycles, core)

Multi-developer

(12)

Software Evolution Laws

Continuous Changes.

“a program that is used must

be continually adapted else it becomes progressively less

satisfactory”

Increasing Complexity.

“As a program is evolved its

complexity increases unless work is done to maintain or

reduce it.”

(13)
(14)

Maintenance is Continuous Development

Relative Maintenance Effort

Between 50% and 75% of global effort is spent on

“maintenance” !

17.4% Corrective

(fixing reported errors)

18.2% Adaptive

(new platforms or OS)

60.3% Perfective

(new functionality)

4.1% Other

The bulk of the maintenance cost is due to new functionality

(15)

Application Domains

Quality and software engineering are omnipresent

PSA, Airbus and MediaPost

Open-source Java projects

JBoss, Azureus

Dynamic Web Development

Pharo: for developing real-life applications Starting from Squeak (developed since 1996)

2500 Classes Monolithic

(16)

Research Agenda

How to help remodularize existing software

applications?

How to enhance programming languages to ease future

evolution and reuse of software applications?

(17)

Remodularisation Support

Tools for understanding applications at large

Building the macroscope

Remodularisation analyses

Which analysis?

Key class identification Layers

New ways to look at coupling

Software quality and monitoring

How remodularisation (coupling/layers) fits into software quality?

(18)

Language Constructs for Modular Design

Traits

Large application (Collection library) Reconsidering traits (state addition) Pure traits-based language

Security and dynamic reflective systems

Security by construction

Control of reflective behavior

Model of security (ACL/Capabilities) Supported by NetStyle.ch

Secure hot-upgrade

(19)

Outline

!

Building on expertise

!

RMoD

! Team

! Challenges and objectives ! Foundations

! Application domains ! Research Agenda

!

Collaborations and grants

! International collaborations ! National collaborations

! International and INRIA positioning ! Publications and software

! Programme committees and conference organisations

(20)

International Collaborations

ERCIM WG Software

Evolution

co-founder

Assoc. Team Remoose

Geodes, Univ. Montréal (H. Sahraoui/Y.G. Gueheneuc) Software Composition Group, Univ. Bern, Pr. O. Nierstrasz

Research Groups

A. Black (Oregon, USA) O. Nierstrasz (Bern, Switzerland)

R. Wuyts (IMEC/KUL, Belgium)

E. Tanter (Santiago, Chile) Sahraoui/Guéheneuc (Montréal, Canada)

S. Krishnamurthi (Providence, USA)

(21)

National Collaborations

Regional

Ecole des mines de douai (Noury Bouraqadi)

LIRMM Equipe d’Oc INRIA Obasco

Projects

Squale, Pôle System@atic Submitted ANR Defis

(LIRMM, LIAFA, MetaWare)

Contact with

MetaWare technologies Qualixo

(22)

International and INRIA Positing

INRIA

Landes (statique and model checking) Klimt (Parsing + DSL + Architecture) Gallium (oCaml) Obasco (AOP)

International

Reengineering

A. van Deursen (model driven) R. Koschke (algorithms for identification)

Geodes H. Saharoui (metrics, quality)

Lore (S. Demeyer, test)

Seal (H. Gall, evolution mining) Reveal (M. Lanza Visualization) SERG (S. Mancoridis,

Clustering)

Language Design

Scala (M. Odersky EPFL) E (Milner, SUN)

Mixins (...) Units (Flatt)

RPM (R. Ducournau, LIRMM) Reflectivity (M. Denker, SCG)

(23)

Publications and Software

Publications 2005-2008

10 PhDs (5 in 2005, 3 in 2006, 2 in 2007, 1 in 2008) 2 books (27000 dls)

2 chapters

18 journal articles (TSE, Toplas,

30 articles (ECOOP, OOPSLA, ICSM, WCRE, CSMR...)

Software

Moose: reengineering open-source environment Squeak 3.9 release responsible

Pharo: high quality open-source Smalltalk JSmall: mini Java VM

(24)

Programme commitees and conferences

Conferences and Workshop Organizations

LMO’2005, ESUG’05,’06,’07 (100 part), Workshop chair Tools’07, Tools’08, Dyla’07

Programme Committees

International:

ECOOP’05,’07, ICSM’05,’06,’07,’08, CSMR’06,’07,’08, ICPC’06,’07,’08, Models/UML’05,’06, ’07, DLS’05,’06, WCRE’05,’06, ESUG’05

National:

Node ‘05, ’06, LMO’05,’06,’08, IDM’05,’06,’07,’08. JFDLA‘05,’07, Cal’06. International Workshops:

Design Pattern Theory and Practice 05, Program Comprehension

through Dynamic Analysis (PCODA’05’06). Meta-Models. Schemas and Grammars for Reverse Engineering (ATEM’06), Mining Software

Repositories (MSR'07), Semantic Technologies in System Maintenance (STSM'08), Model Co-Evolution and Consistency Management

(25)

Risk Analysis

On the edge of two challenging topics Small team

Difficult since industry wants reengineers not “reengsearchers”

Solutions

Stepwise bootstrapping

Narrowing the field: remodularisation as a focus Identify key players in France

(26)

Conclusion

Remodularisation as a challenge

Two axes in synergy

Head in the clouds

Model and analyses

Feet on the ground

Applied to real systems

References

Related documents

My role: Psychological evaluation within an RTI district; psychological and eligibility report writing; eligibility determination as part of the Student Support Team;

In the final analysis, the CMMM results reflect that for the contracting agencies assessed, the pre-award phases of Procurement Planning, Solicitation Planning, Solicitation

Each scenario includes carefully selected challenges which exercise the full range of Flight Deck Management skills, while providing t h e individual pilot with

[r]

Between the Lines by Ignacio Zuluetta, Eugene O’Neill Foundation Playwrights Theatre, May 2010 A Touch of the Poet by Eugene O’Neill, Eugene O’Neill Foundation Playwrights

aeruginosa strains used for bioremediation were isolated from the environment, but the virulence of environmental P.. aeruginosa strains has not yet been tested in plant or

Even assuming the historical average payout ratio, the current dividend yield would be much lower than its historical average (2.05% vs. 4.28%) This difference is

− An estimated £20,000 sales per month is envisaged from December 2006 once the business has reached its full capacity. Running cash outflow is estimated to