skip to main content
research-article

Agile software assessment with Moose

Published:16 May 2012Publication History
Skip Abstract Section

Abstract

During software maintenance, much time is spent reading and assessing existing code. Unfortunately most of the tools available for exploring and assessing code, such as browsers, debuggers and profilers, focus on development tasks, and offer little to support program understanding. We present a platform for software and data analysis, called Moose, which enables the rapid development of custom tools for software assessment. We demonstrate how Moose supports agile software assessment through a series of demos, we illustrate some of the custom tools that have been developed, and we draw various lessons learned for future work in this domain

References

  1. Amir Aryani, Fabrizio Perin, Mircea Lungu, Abdun Naser Mahmood, and Oscar Nierstrasz. Can we predict dependencies using domain information? In Proceedings of the 18th Working Conference on Reverse Engineering (WCRE 2011), October 2011. Available from: http://scg.unibe.ch/archive/papers/Aria11aWCRE11.pdf, doi:10.1109/WCRE.2011.17. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Mihai Balint, Tudor Girba, and Radu Marinescu. How developers copy. In Proceedings of International Conference on Program Comprehension (ICPC 2006), pages 56--65, 2006. Available from: http://scg.unibe.ch/archive/papers/Bali06aHowDevelopersCopy.pdf, doi:10.1109/ICPC.2006.25. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Walter Bischofberger, Jan Kühl, and Silvio Löffler. Sotograph -- a pragmatic approach to source code architecture conformance checking. In Software Architecture, volume 3047 of LNCS, pages 1--9. Springer-Verlag, 2004. doi:10.1007/b97879.Google ScholarGoogle Scholar
  4. Andrew Black, Stéphane Ducasse, Oscar Nierstrasz, Damien Pollet, Damien Cassou, and Marcus Denker. Pharo by Example. Square Bracket Associates, 2009. Available from: http://pharobyexample.org.Google ScholarGoogle Scholar
  5. Philipp Bunge. Scripting browsers with Glamour. Master's thesis, University of Bern, April 2009. Available from: http://scg.unibe.ch/archive/masters/Bung09a.pdf.Google ScholarGoogle Scholar
  6. Serge Demeyer, Stéphane Ducasse, and Oscar Nierstrasz. Object-Oriented Reengineering Patterns. Square Bracket Associates, 2008. Available from: http://scg.unibe.ch/download/oorp/. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Stéphane Ducasse, Tudor Girba, and Adrian Kuhn. Distribution map. In Proceedings of 22nd IEEE International Conference on Software Maintenance (ICSM '06), pages 203--212, Los Alamitos CA, 2006. IEEE Computer Society. Available from: http://scg.unibe.ch/archive/papers/Duca06cDistributionMap.pdf, doi:10.1109/ICSM.2006.22.Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Stéphane Ducasse and Michele Lanza. The Class Blueprint: Visually supporting the understanding of classes. Transactions on Software Engineering (TSE), 31(1):75--90, January 2005. Available from: http://scg.unibe.ch/archive/papers/Duca05bTSEClassBlueprint.pdf, doi:10.1109/TSE.2005.14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Tudor Girba and Stéphane Ducasse. Modeling history to analyze software evolution. Journal of Software Maintenance: Research and Practice (JSME), 18:207--236, 2006. Available from: http://scg.unibe.ch/archive/papers/Girb06aHismo.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Tudor Girba, 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), pages 113--122. IEEE Computer Society Press, 2005. Available from: http://scg.unibe.ch/archive/papers/Girb05cOwnershipMap.pdf, doi:10.1109/IWPSE.2005.21. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Orla Greevy, Stéphane Ducasse, and Tudor Girba. Analyzing software evolution through feature views. Journal of Software Maintenance and Evolution: Research and Practice (JSME), 18(6):425--456, 2006. Available from: http://scg.unibe.ch/archive/papers/Gree06bTraceScraperJSME-SCG.pdf, doi:10.1002/smr.340. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Matthias Junker and Markus Hofstetter. Scripting diagrams with eyesee. Bachelor's thesis, University of Bern, May 2007. Available from: http://scg.unibe.ch/archive/projects/Junk07aJunkerHofstetterEyeSee.pdf.Google ScholarGoogle Scholar
  13. Adrian Kuhn, Stéphane Ducasse, and Tudor Girba. Semantic clustering: Identifying topics in source code. Information and Software Technology, 49(3):230--243, March 2007. Available from: http://scg.unibe.ch/archive/drafts/Kuhn06bSemanticClustering.pdf, doi:10.1016/j.infsof.2006.10.017. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Daniel Langone. Recycling trees: Mapping Eclipse ASTs to Moose models. Bachelor's thesis, University of Bern, January 2009. Available from: http://scg.unibe.ch/archive/projects/Lang09a.pdf.Google ScholarGoogle Scholar
  15. Daniel Langone and Toon Verwaest. Extracting models from IDEs. In 2nd Workshop on FAMIX and Moose in Software Reengineering (FAMOOSr 2008), pages 32--35, October 2008. Available from: http://scg.unibe.ch/archive/papers/Lang08aModelExtraction.pdf.Google ScholarGoogle Scholar
  16. Michele Lanza and Stéphane Ducasse. Polymetric views|a lightweight visual approach to reverse engineering. Transactions on Software Engineering (TSE), 29(9):782--795, September 2003. Available from: http://scg.unibe.ch/archive/papers/Lanz03dTSEPolymetric.pdf, doi:10.1109/TSE.2003.1232284. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Thomas D. LaToza, Gina Venolia, and Robert DeLine. Maintaining mental models: a study of developer work habits. In ICSE '06: Proceedings of the 28th international conference on Software engineering, pages 492--501, New York, NY, USA, 2006. ACM. doi:10.1145/1134285.1134355. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Manny Lehman and Les Belady. Program Evolution: Processes of Software Change. London Academic Press, London, 1985. Available from: ftp://ftp.umh.ac.be/pub/ftp_infofs/1985/ProgramEvolution.pdf. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Adrian Lienhard, Tudor Girba, and Oscar Nierstrasz. Practical object-oriented back-in-time debugging. In Proceedings of the 22nd European Conference on Object-Oriented Programming (ECOOP'08), volume 5142 of LNCS, pages 592--615. Springer, 2008. ECOOP distinguished paper award. Available from: http://scg.unibe.ch/archive/papers/Lien08bBackInTimeDebugging.pdf, doi:10.1007/978-3-540-70592-5_25. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Mircea Lungu and Michele Lanza. Softwarenaut: Exploring hierarchical system decompositions. In Proceedings of CSMR 2006 (10th European Conference on Software Maintenance and Reengineering), pages 351--354, Los Alamitos CA, 2006. IEEE Computer Society Press. doi:10.1109/CSMR.2006.52. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Mircea Lungu and Oscar Nierstrasz. Recovering software architecture with softwarenaut. ERCIM News, 88, January 2012. Available from: http://ercim-news.ercim.eu/en88/special/recovering-software-architecture-with-softwarenaut.Google ScholarGoogle Scholar
  22. Michael Meyer, Tudor Girba, and Mircea Lungu. Mondrian: An agile visualization framework. In ACM Symposium on Software Visualization (SoftVis'06), pages 135--144, New York, NY, USA, 2006. ACM Press. Available from: http://scg.unibe.ch/archive/papers/Meye06aMondrian.pdf, doi:10.1145/1148493.1148513. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Oscar Nierstrasz, Stéphane Ducasse, and Tudor Girba. The story of Moose: an agile reengineering environment. In Proceedings of the European Software Engineering Conference (ESEC/FSE'05), pages 1--10, New York, NY, USA, 2005. ACM Press. Invited paper. Available from: http://scg.unibe.ch/archive/papers/Nier05cStoryOfMoose.pdf, doi:10.1145/1095430.1081707. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Oscar Nierstrasz and Tudor Girba. Lessons in software evolution learned by listening to Smalltalk. In J. van Leeuwen et al., editor, SOFSEM 2010, volume 5901 of LNCS, pages 77--95. Springer-Verlag, 2010. Available from: http://scg.unibe.ch/archive/papers/Nier10aSmalltalkLessons.pdf, doi:10.1007/978-3-642-11266-9_7. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Oscar Nierstrasz, Markus Kobel, Tudor Girba, Michele Lanza, and Horst Bunke. Example-driven reconstruction of software models. In Proceedings of Conference on Software Maintenance and Reengineering (CSMR 2007), pages 275--286, Los Alamitos CA, 2007. IEEE Computer Society Press. Available from: http://scg.unibe.ch/archive/papers/Nier07aExampleDrivenMR.pdf, doi:10.1109/CSMR.2007.23. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Fabrizio Perin, Tudor Girba, 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. Available from: http://scg.unibe.ch/archive/papers/Peri10aTransactionRecovery.pdf, doi:10.1109/ICSM.2010.5609572. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. David Röthlisberger, Marcel Härry, Alex Villazón, Danilo Ansaloni, Walter Binder, Oscar Nierstrasz, and Philippe Moret. Exploiting dynamic information in ides improves speed and correctness of software maintenance tasks. Transactions on Software Engineering, 2011. To appear (preprint online). Available from: http://scg.unibe.ch/archive/papers/Roet11aSenseoTSE.pdf, doi:10.1109/TSE.2011.42. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Mary Shaw and David Garlan. Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Sandro De Zanet. Grammar generation with genetic programming | evolutionary grammar generation. Master's thesis, University of Bern, July 2009. Available from: http://scg.unibe.ch/archive/masters/DeZa09a.pdf.Google ScholarGoogle Scholar

Index Terms

  1. Agile software assessment with Moose

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image ACM SIGSOFT Software Engineering Notes
      ACM SIGSOFT Software Engineering Notes  Volume 37, Issue 3
      May 2012
      129 pages
      ISSN:0163-5948
      DOI:10.1145/2180921
      Issue’s Table of Contents

      Copyright © 2012 Author

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 16 May 2012

      Check for updates

      Qualifiers

      • research-article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader