FAMOOSr 2011         ESUG 2011Alexandre Bergel & Jannik Laval
About the workshopDiscuss about the MOOSE software analysis platformOpen to people interested in software analysisGoals  K...
During the workshop About 20 people attended the workshop. The roomwas full A large majority of the audience knows Moose,h...
Tudor Gîrbawww.tudorgirba.com
Moose’s pillarsAnalysis environment for software systems4 core actions  navigation: moving between things  selection: grou...
McCabe = 21NOM                            0    =   102                   0                        3  ,0                   ...
Currently supported languages             C           Java           Spem          Smalltalk        ADA (partially)
FAMIXis a a language independent meta-FAMIX is language independent meta-model                 model                      ...
Scheduled presentation "The curse of Pharo", digging in Cobol - D. Lont andStephan Eggermont Exposing hidden dependencies ...
The curse of Pharo", digging in                Cobol Presented by Diego and Stephan Their goal is to replace a large syste...
Refactoring the application600+ data files800+ lib filesFirst question they have:  do we have all files? use distribution map...
Deciphering Cobol  Separate description of the data format and the filelocation per file fixed record length, but miltiple re...
Browser driven development Create a short feedback loop by letting the client usea browser (made in Glamour)
the curse The amount of data to analyze is high: 724 Mbyte ofraw data
Dealing with cobol They do not parse Cobol code using a grammargenerated by a parser. They gradually parse using regular e...
DemoThey have two browsers (made in glamour):  INNO browser, for the clients. You can have all the source files and load th...
Exposing hidden dependencies in     heterogenous applications by Fabrizio from the University of Bern heterogenous applica...
Idea If a java class map or access a table T And if a script accesses the same table T then we deduce a dependency between...
Metamodeling Fabrizio has defined a metamodel for this He has built browsers to navigate between the tablesand visually rep...
Translating a Mondrian visualization              into HTML Presented by Santiago Vidal, from Argentina He has written an ...
Unit tests presented by Alexandre, myself the lack of static type annotation prevents one fromaccurately analyzing smallta...
Orion Presented by Jannik Laval It enables one to explore different path during aquality improvement activity It extends t...
DemoDemo using the network Pharo package
AspectMaps Given by Johan Fabry, from the University of Chile It shows us how it extended the FAMIX metamodel An aspect is...
2011 famoosr
Upcoming SlideShare
Loading in...5
×

2011 famoosr

1,230

Published on

Minutes from the FAMOOSr workshop which tool place at ESUG, Edinburg

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,230
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

2011 famoosr

  1. 1. FAMOOSr 2011 ESUG 2011Alexandre Bergel & Jannik Laval
  2. 2. About the workshopDiscuss about the MOOSE software analysis platformOpen to people interested in software analysisGoals Knowing what others are working on Find oportunities for join work
  3. 3. During the workshop About 20 people attended the workshop. The roomwas full A large majority of the audience knows Moose,however they asked for a small briefing :-)
  4. 4. Tudor Gîrbawww.tudorgirba.com
  5. 5. Moose’s pillarsAnalysis environment for software systems4 core actions navigation: moving between things selection: grouping things inspection: inspecting things presentation: rendering things
  6. 6. McCabe = 21NOM 0 = 102 0 3 ,0 75 = ... C LO Metrics Queries Visualizations { { { { } } } } { }
  7. 7. Currently supported languages C Java Spem Smalltalk ADA (partially)
  8. 8. FAMIXis a a language independent meta-FAMIX is language independent meta-model model Package Namespace packagedIn belongsTo * * superclass * Class Inheritance subclass * belongsTo belongsTo * * * invokedByInvocation Method Attribute * candidate accessedIn accesses * * Access
  9. 9. Scheduled presentation "The curse of Pharo", digging in Cobol - D. Lont andStephan Eggermont Exposing hidden dependencies in heterogenous applications- Fabrizo Perin Extending Mondrian with Interactive HTML Visualisation -Santiago Vidal, Alexandre Bergel, Claudia Marcos, TudorGirba Using unit tests to increase accuracy of inter-methoddependencies - Alexandre Bergel Modeling Check style rules - Angel Nunez, Alexandre Bergel,Stéphane Ducasse
  10. 10. The curse of Pharo", digging in Cobol Presented by Diego and Stephan Their goal is to replace a large system written inCobol The original developer of the Cobol system passedaway 10 years ago The current maintainer recently got an heart attack.
  11. 11. Refactoring the application600+ data files800+ lib filesFirst question they have: do we have all files? use distribution map can we read the data? Use a glamour browser to navigate between the cobol definitionsTheir goals complete the implementation of the new ERP system by the end of the year only move data that is actually needed
  12. 12. Deciphering Cobol Separate description of the data format and the filelocation per file fixed record length, but miltiple record types inthe same file references between records are by convention
  13. 13. Browser driven development Create a short feedback loop by letting the client usea browser (made in Glamour)
  14. 14. the curse The amount of data to analyze is high: 724 Mbyte ofraw data
  15. 15. Dealing with cobol They do not parse Cobol code using a grammargenerated by a parser. They gradually parse using regular expression whenthey actually need it They use convention based on name They approach may work only for their case studyhowever
  16. 16. DemoThey have two browsers (made in glamour): INNO browser, for the clients. You can have all the source files and load them. The data files are presented using a distribution map
  17. 17. Exposing hidden dependencies in heterogenous applications by Fabrizio from the University of Bern heterogenous application: applications written indifferent languages Fabrizio will shows us a case study with a customer he wanted to identify the hidden dependenciesbetween the DSL scripts and the Java classes DSL Scripts and Java classes both share tables in adatabase
  18. 18. Idea If a java class map or access a table T And if a script accesses the same table T then we deduce a dependency between the scriptand the java classes We qualify it as hidden since it is not explicit in thesource
  19. 19. Metamodeling Fabrizio has defined a metamodel for this He has built browsers to navigate between the tablesand visually represent He considers the MySQL databases by using a sqlscript using PetitParser
  20. 20. Translating a Mondrian visualization into HTML Presented by Santiago Vidal, from Argentina He has written an exporter that compiles a structureof Mondrian He demoed a number of visualizations, includingsystem complexity, distribution map and Hapao The audience asked about whether a server canlisten to the event the user may do. This is ongoingwork
  21. 21. Unit tests presented by Alexandre, myself the lack of static type annotation prevents one fromaccurately analyzing smalltalk applications The idea is to profile the execution of unit tests toreduce the amount of candidate of an invocation Demostrated on Arki and Mondrian
  22. 22. Orion Presented by Jannik Laval It enables one to explore different path during aquality improvement activity It extends the FAMIX metamodel to have thedifference models information
  23. 23. DemoDemo using the network Pharo package
  24. 24. AspectMaps Given by Johan Fabry, from the University of Chile It shows us how it extended the FAMIX metamodel An aspect is contained in a namespace An aspect has a list of advices and pointcut Johan has to extend Glamour by putting anannouncer on the window, thus bypassing thetransmission between widgets Apparently Diego & Stefan experienced the very sameproblem
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×