Présentation du projet Moose
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Présentation du projet Moose

on

  • 1,447 views

 

Statistics

Views

Total Views
1,447
Views on SlideShare
1,438
Embed Views
9

Actions

Likes
0
Downloads
1
Comments
0

3 Embeds 9

http://www.gt-logiciel-libre.org 6
http://www.slideshare.net 2
http://www.systematic-paris-region.org 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Présentation du projet Moose Presentation Transcript

  • 1. Long living software systems Stéphane Ducasse stephane.ducasse@inria.fr http://stephane.ducasse.free.fr/ Stéphane Ducasse 1
  • 2. A word of presentation Co-author of Object-Oriented Reengineering Patterns Co-developer of Moose (reengineering platform) 13 PhD Theses in Soft. Eng. 50+ articles Member of the Squale project Grounded in reality Maintainer of open-source projects Harman-Becker AG, Bedag AG, Nokia, Daimler S.Ducasse 2
  • 3. Roadmap • Some software development facts • Our approach • Supporting maintenance • Moose an open-platform • Conclusion S.Ducasse 3
  • 4. 1946
  • 5. How large is your project? 1’000’000 lines of code * 2 = 2’000’000 seconds / 3600 = 560 hours / 8 = 70 days / 20 = 3 months S.Ducasse 5 LSE
  • 6. Maintenance is Continuous Development 4.1% Other 18.2% Adaptive (new platforms or OS) Relative Maintenance Effort Between 50% and 75% of global effort is spent on 17.4% Corrective “maintenance” ! (fixing reported errors) 60.3% Perfective (new functionality) The bulk of the maintenance cost is due to new functionality even with better requirements, it is hard to predict new functions S.Ducasse 6 LSE
  • 7. System evolution is like... SimCity S.Ducasse 7
  • 8. Maintenance is is needed to evolve the code. Fo rw r ing ar ee d en gin gin en ee e rs rin ve g Re { { { { { { } { { } } Actual development } } } { } } } S.Ducasse 8
  • 9. Roadmap • Some software development facts • Our approach • Supporting maintenance • Moose an open-platform • Conclusion S.Ducasse 9
  • 10. Long Living Complex Software (1) New languages for evolving living software ? (2) Help teams maintaining large software ? S.Ducasse 10
  • 11. Fondamental aspects of object languages 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 Classboxes: Modules for open-classes (Monkey patching in Ruby) OOPAL: OOP + APL Generalizing message passing (FScript) Language symbiosis Encapsulation for dynamic languages Reusable behavior:Traits Impacts Traits used by Fortress (SUN Microsystems), Scala (EPFL), Perl-6, Squeak, Slate S.Ducasse 11
  • 12. Current Research Secure hot-upgrade Security and dynamic reflexive systems Towards open VM S.Ducasse 12
  • 13. Help teams maintaining large software What is the xray for software? code, people, practices Which analyses? cycles detection, quality models.... How can you monitor your system (dashboards....) How to present extracted information? S.Ducasse 13
  • 14. Covered topics Analyses Reverse Engineering Topics Metamodeling, metrics, Representation Transformations program understanding, visualization, evolution analysis, Evolution duplicated code detection, code, Analysis, refactorings, test generation... Contributions Moose: an open-source extensible reengineering environment: (Lugano, Bern, Annecy, Anvers, Louvain la neuve, ULB, UTSL) Projects Harman-Becker (3 Millions C++), Bedag (Cobol), Nokia, ABB, IMEC S.Ducasse 14
  • 15. Example: Who is responsible? (4) Visualisation (3) Analyses (2) Modèle (1) Extraction S.Ducasse 15
  • 16. Who is responsible? (4) Visualisation (3) Analyses (2) Modèle (1) Extraction Distribution Map of authors on JBoss S.Ducasse 16
  • 17. Distribution Map S.Ducasse 17
  • 18. Moose is a powerful environment McCabe = 21 NOM 0 = 102 3 ,00 75 = ... C LO Metrics Queries Visualizations { { { { } } } } { }
  • 19. Moose is designed to be extensible Class History Duplication Class Version Author Method Class Method Class File Inheritance Event Inheritance Trace open meta-described S.Ducasse 19
  • 20. Since 1996 a lot of year/man investment Used by several research labs (CH, BE, FR) Consulting companies (CH) http://www.moosetechnology.org Open source: BSD Supports Java, C, Smalltalk (C++ analysis) S.Ducasse 20
  • 21. Applied on real life systems Several large, industrial case studies (NDA) Harman-Becker Nokia Daimler Siemens Different implementation languages (C++, Java, Smalltalk, Cobol) We use external C++ parsers Different sizes S.Ducasse 21 LSE
  • 22. Interested in your problems! • Remodularization/Repackaging • SOA - Service Identification • Architecture Extraction/Validation • Software Quality • Cost prediction • EJB Analysis • Business rules extraction • Model transformation S.Ducasse 22