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
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Mary Shaw and David Garlan. Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall, 1996. Google ScholarDigital Library
- 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 Scholar
Index Terms
- Agile software assessment with Moose
Recommendations
The story of moose: an agile reengineering environment
ESEC/FSE-13: Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineeringMOOSE is a language-independent environment for reverse- and re-engineering complex software systems. MOOSE provides a set of services including a common meta-model, metrics evaluation and visualization, a model repository, and generic GUI support for ...
Adopting to Agile Software Development
Abstract Agile software development can be made successful, but there is no well-defined way how to achieve this. The problem is that the successful adoption of agile methods and practices is a complex process and this process should be customizable for ...
Software reuse in agile development organizations: a conceptual management tool
SAC '11: Proceedings of the 2011 ACM Symposium on Applied ComputingThe reuse of knowledge is considered a major factor for increasing productivity and quality. In the software industry knowledge is embodied in software assets such as code components, functional designs and test cases. This kind of knowledge reuse is ...
Comments