Moose

MooseLogo

Moose is an open source project first conceived in 1997 at Software Composition Group. Its original goal was to support software reverse engineering, but since then it has grown to be a generic platform for analysis in general, and it is currently used in and contributed by several European universities.

Ch-open-2009.png

Since 2003 I am one of the main developers and architects of Moose. I am also the president of the Moose Association, a Swiss non-profit association that is concerned with promoting Moose as an open-source platform.

Presentations

I have presented Moose in several context. Here are some slides I used on two occassions.

The first of the set of slides shown below accompanied a talk to convince an engineering audience of the importance of software assessment, and to show what Moose can do.

I used the second set of slides in a three hour tutorial held at the Working Conference on Reverse Engineering (WCRE 2008) in which I talked about the various faces of Moose:

  • First, I browsed the various techniques that are supported by Moose as an analysis tool.
  • Second, I talked about Moose as a modeling platform with which we can accommodate various types of data.
  • Third, I talked about Moose as a visualization platform and gave some examples of how we can prototype visualizations using scripting.
  • Fourth, I described the modular architecture and the integration mechanism of Moose.
  • And last, I unveiled the idea behind Moose as a research engine that allows us to go beyond papers and produce ideas that are palpable, that can be reused and that can be compared.

Publications

  1. Mihai Balint, Tudor Gîrba, and Radu Marinescu. How Developers Copy. In Proceedings of International Conference on Program Comprehension (ICPC 2006), p. 56—65, 2006. DOI PDF 
  2. Mihai Balint, Petru Florin Mihancea, Tudor Gîrba, and Radu Marinescu. NOREX: A Distributed Reengineering Environment. In Proceedings of International Conference on Software Maintenance (ICSM 2007), p. 523—524, IEEE Computer Society, September 2007. Tool demo. DOI PDF 
  3. Andrea Brühlmann, Tudor Gîrba, Orla Greevy, and Oscar Nierstrasz. Enriching Reverse Engineering with Annotations. In Krzysztof Czarnecki al. (Ed.), International Conference on Model Driven Engineering Languages and Systems (Models 2008), LNCS 5301 p. 660-674, Springer-Verlag, 2008. DOI PDF 
  4. Serge Demeyer, Filip Van Rysselberghe, Tudor Gîrba, Jacek Ratzinger, Radu Marinescu, Tom Mens, Bart Du Bois, Dirk Janssens, Stéphane Ducasse, Michele Lanza, Matthias Rieger, Harald Gall, Michel Wermelinger, and Mohammad El-Ramly. The LAN-simulation: A Research and Teaching Example for Refactoring. In Proceedings of IWPSE 2005 (8th International Workshop on Principles of Software Evolution), p. 123—131, IEEE Computer Society Press, Los Alamitos CA, 2005. DOI PDF 
  5. Simon Denier and Tudor Gîrba. Workshop on FAMIX and Moose in Software Reengineering (FAMOOSr 2009). In 16th Working Conference on Software Maintenance and Reengineering (WCRE 2009), p. 325—326, October 2009. DOI PDF 
  6. Adrian Dozsa, Tudor Gîrba, and Radu Marinescu. How Lisp systems look different. In European Conference on Software Maintenance and Re-Engineering (CSMR 2008), p. 223—232, IEEE Computer Society Press, 2008. DOI PDF 
  7. Stéphane Ducasse, Tudor Gîrba, and Jean-Marie Favre. Modeling Software Evolution by Treating History as a First Class Entity. In Proceedings Workshop on Software Evolution Through Transformation (SETra 2004), p. 75—86, Elsevier, Amsterdam, 2004. DOI PDF 
  8. Stéphane Ducasse, Tudor Gîrba, Michele Lanza, and Serge Demeyer. Moose: a Collaborative and Extensible Reengineering Environment. In Tools for Software Maintenance and Reengineering, RCOST / Software Technology Series p. 55—71, Franco Angeli, Milano, 2005. PDF 
  9. Stéphane Ducasse, Tudor Gîrba, and Oscar Nierstrasz. Moose: an Agile Reengineering Environment. In Proceedings of ESEC/FSE 2005, p. 99—102, September 2005. Tool demo. DOI PDF 
  10. Stéphane Ducasse, Tudor Gîrba, and Adrian Kuhn. Distribution Map. In Proceedings of 22nd IEEE International Conference on Software Maintenance (ICSM '06), p. 203—212, IEEE Computer Society, Los Alamitos CA, 2006. DOI PDF 
  11. Stéphane Ducasse and Tudor Gîrba. Using Smalltalk as a Reflective Executable Meta-Language. In International Conference on Model Driven Engineering Languages and Systems (Models/UML 2006), LNCS 4199 p. 604—618, Springer-Verlag, Berlin, Germany, 2006. DOI PDF 
  12. Stéphane Ducasse, Tudor Gîrba, Adrian Kuhn, and Lukas Renggli. Meta-Environment and Executable Meta-Language using Smalltalk: an Experience Report. In Journal of Software and Systems Modeling (SOSYM) 8(1) p. 5—19, February 2009. DOI PDF 
  13. Stéphane Ducasse, Tudor Gîrba, Orla Greevy, Michele Lanza, and Oscar Nierstrasz. Workshop on FAMIX and Moose in Software Reengineering (FAMOOSr 2008). In 15th Working Conference on Software Maintenance and Reengineering (WCRE 2008), p. 343—344, October 2008. DOI PDF 
  14. Tudor Gîrba and Michele Lanza. Visualizing and Characterizing the Evolution of Class Hierarchies. In WOOR 2004 (5th ECOOP Workshop on Object-Oriented Reengineering), 2004. PDF 
  15. Tudor Gîrba, Stéphane Ducasse, and Michele Lanza. Yesterday's Weather: Guiding Early Reverse Engineering Efforts by Summarizing the Evolution of Changes. In Proceedings of 20th IEEE International Conference on Software Maintenance (ICSM'04), p. 40—49, IEEE Computer Society, Los Alamitos CA, September 2004. DOI PDF 
  16. Tudor Gîrba, Stéphane Ducasse, Radu Marinescu, and Daniel Ra\ctiu. Identifying Entities That Change Together. In Ninth IEEE Workshop on Empirical Studies of Software Maintenance, 2004. PDF 
  17. Tudor Gîrba, Michele Lanza, and Stéphane Ducasse. Characterizing the Evolution of Class Hierarchies. In Proceedings of 9th European Conference on Software Maintenance and Reengineering (CSMR'05), p. 2—11, IEEE Computer Society, Los Alamitos CA, 2005. DOI PDF 
  18. Tudor Gîrba, Jean-Marie Favre, and Stéphane Ducasse. Using Meta-Model Transformation to Model Software Evolution. In Proceedings of 2nd International Workshop on Meta-Models and Schemas for Reverse Engineering (ATEM 2004), p. 57—64, 2004. DOI PDF 
  19. Tudor Gîrba, Adrian Kuhn, Mauricio Seeberger, and Stéphane Ducasse. How Developers Drive Software Evolution. In Proceedings of International Workshop on Principles of Software Evolution (IWPSE 2005), p. 113—122, IEEE Computer Society Press, 2005. DOI PDF 
  20. Tudor Gîrba. Modeling History to Understand Software Evolution. Ph.D. thesis, University of Bern, Bern, November 2005. PDF 
  21. Tudor Gîrba and Stéphane Ducasse. Modeling History to Analyze Software Evolution. In Journal of Software Maintenance: Research and Practice (JSME) 18 p. 207—236, 2006. PDF 
  22. Tudor Gîrba, Stéphane Ducasse, Adrian Kuhn, Radu Marinescu, and Daniel Ra\ctiu. Using Concept Analysis to Detect Co-Change Patterns. In Proceedings of International Workshop on Principles of Software Evolution (IWPSE 2007), p. 83—89, ACM Press, 2007. DOI PDF 
  23. Tudor Gîrba, Michele Lanza, and Radu Marinescu. Pragmatic Software Quality Detection. 2008. Tutorial held at ICSE 2008. PDF 
  24. Tudor Gîrba. The Moose Book, Self Published, 2010. URL 
  25. Orla Greevy, Stéphane Ducasse, and Tudor Gîrba. Analyzing Feature Traces to Incorporate the Semantics of Change in Software Evolution Analysis. In Proceedings of 21st IEEE International Conference on Software Maintenance (ICSM'05), p. 347—356, IEEE Computer Society, Los Alamitos, September 2005. DOI PDF 
  26. Orla Greevy, Stéphane Ducasse, and Tudor Gîrba. Analyzing Software Evolution through Feature Views. In Journal of Software Maintenance and Evolution: Research and Practice (JSME) 18(6) p. 425—456, 2006. DOI PDF 
  27. Orla Greevy, Tudor Gîrba, and Stéphane Ducasse. How Developers Develop Features. In Proceedings of 11th European Conference on Software Maintenance and Reengineering (CSMR 2007), p. 256—274, IEEE Computer Society, Los Alamitos CA, 2007. DOI PDF 
  28. Adrian Kuhn, Stéphane Ducasse, and Tudor Gîrba. Enriching Reverse Engineering with Semantic Clustering. In Proceedings of 12th Working Conference on Reverse Engineering (WCRE'05), p. 113—122, IEEE Computer Society Press, Los Alamitos CA, November 2005. DOI PDF 
  29. Adrian Kuhn, Orla Greevy, and Tudor Gîrba. Applying Semantic Analysis to Feature Execution Traces. In Proceedings IEEE Workshop on Program Comprehension through Dynamic Analysis (PCODA 2005), p. 48—53, IEEE Computer Society Press, Los Alamitos CA, November 2005. PDF 
  30. Adrian Kuhn, Stéphane Ducasse, and Tudor Gîrba. Semantic Clustering: Identifying Topics in Source Code. In Information and Software Technology 49(3) p. 230—243, March 2007. DOI PDF 
  31. Adrian Lienhard, Stéphane Ducasse, and Tudor Gîrba. Object Flow Analysis — Taking an Object-Centric View on Dynamic Analysis. In Proceedings of the 2007 International Conference on Dynamic Languages (ICDL'07), p. 121—140, ACM Digital Library, New York, NY, USA, 2007. DOI PDF 
  32. Adrian Lienhard, Tudor Gîrba, Orla Greevy, and Oscar Nierstrasz. Exposing Side Effects in Execution Traces. In Andy Zaidman, Abdelwahab Hamou-Lhadj, and Orla Greevy (Ed.), Proceedings of the 3rd International Workshop on Program Comprehension through Dynamic Analysis (PCODA'07), p. 11—17, Technische Universiteit Delft, 2007. PDF PDF 
  33. Adrian Lienhard, Stéphane Ducasse, and Tudor Gîrba. Taking an Object-Centric View on Dynamic Information with Object Flow Analysis. In Journal of Computer Languages, Systems and Structures 35(1) p. 63—79, 2009. DOI PDF 
  34. Mircea Lungu, Adrian Kuhn, Tudor Gîrba, and Michele Lanza. Interactive Exploration of Semantic Clusters. In 3rd International Workshop on Visualizing Software for Understanding and Analysis (VISSOFT 2005), p. 95—100, 2005. DOI PDF 
  35. Mircea Lungu, Michele Lanza, and Tudor Gîrba. Package Patterns for Visual Architecture Recovery. In Proceedings of CSMR 2006 (10th European Conference on Software Maintenance and Reengineering), p. 185—196, IEEE Computer Society Press, Los Alamitos CA, 2006. DOI PDF 
  36. Mircea Lungu and Tudor Gîrba. A Small Observatory for Super-Repositories. In Proceedings of International Workshop on Principles of Software Evolution (IWPSE 2007), p. 106—109, ACM Press, 2007. DOI PDF 
  37. Mircea Lungu, Michele Lanza, Tudor Gîrba, and Reinout Heeck. Reverse Engineering Super-Repositories. In Proceedings of WCRE 2007 (14th Working Conference on Reverse Engineering), p. 120—129, IEEE Computer Society Press, Los Alamitos CA, 2007. DOI PDF 
  38. Michael Meyer, Tudor Gîrba, and Mircea Lungu. Mondrian: An Agile Visualization Framework. In ACM Symposium on Software Visualization (SoftVis'06), p. 135—144, ACM Press, New York, NY, USA, 2006. DOI PDF 
  39. Oscar Nierstrasz, Stéphane Ducasse, and Tudor Gîrba. The Story of Moose: an Agile Reengineering Environment. In Proceedings of the European Software Engineering Conference (ESEC/FSE'05), p. 1—10, ACM Press, New York NY, 2005. Invited paper. DOI PDF 
  40. Oscar Nierstrasz, Markus Kobel, Tudor Gîrba, Michele Lanza, and Horst Bunke. Example-Driven Reconstruction of Software Models. In Proceedings of Conference on Software Maintenance and Reengineering (CSMR 2007), p. 275—286, IEEE Computer Society Press, Los Alamitos CA, 2007. DOI PDF 
  41. Fabrizio Perin And Tudor Gîrba And OScar Nierstrasz. Recovery and Analysis of Transaction Scope from Scattered Information in Java Enterprise Applications. In Proceedings of International Conference on Software Maintenance 2010, September 2010. To appear. 
  42. Daniel Ra\c tiu, Stéphane Ducasse, Tudor Gîrba, and Radu Marinescu. Using History Information to Improve Design Flaws Detection. In Proceedings of 8th European Conference on Software Maintenance and Reengineering (CSMR'04), p. 223—232, IEEE Computer Society, Los Alamitos CA, 2004. PDF 
  43. Lukas Renggli, Stéphane Ducasse, Tudor Gîrba, and Oscar Nierstrasz. Practical Dynamic Grammars for Dynamic Languages. In 4th Workshop on Dynamic Languages and Applications (DYLA 2010), Malaga, Spain, June 2010. PDF 
  44. Mauricio Seeberger, Adrian Kuhn, Tudor Gîrba, and Stéphane Ducasse. Chronia: Visualizing How Developers Change Software Systems. In Proceedings of 10th European Conference on Software Maintenance and Reengineering (CSMR'06), p. 345—346, March 2006. Tool demo. PDF 
  45. François Stephany, Tom Mens, and Tudor Gîrba. Maispion: A Tool for Analysing and Visualizing Open Source Software Developer Communities. In Proceedings of International Workshop on Smalltalk Technologies (IWST 2009), p. 50—57, ACM, New York, NY, USA, 2009. DOI PDF 
  46. Mathieu Verbaere, Michael W. Godfrey, and Tudor Gîrba. Query Technologies and Applications for Program Comprehension. In Proceedings of International Conference on Program Comprehension (ICPC 2008), p. 285—288, 2008. DOI PDF 

You are here: