TS: an optimizing compiler for smalltalk
OOPSLA '88 Conference proceedings on Object-oriented programming systems, languages and applications
Environment Evolution: The Prism Model of Changes
IEEE Transactions on Software Engineering
Empirical studies of software engineering: a roadmap
Proceedings of the Conference on The Future of Software Engineering
Change impact analysis for object-oriented programs
PASTE '01 Proceedings of the 2001 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Software Change Impact Analysis
Software Change Impact Analysis
Reverse Engineering and Design Recovery: A Taxonomy
IEEE Software
Algorithmic Analysis of the Impact of Changes to Object-Oriented Software
ICSM '96 Proceedings of the 1996 International Conference on Software Maintenance
Change Impact Identification in Object Oriented Software Maintenance
ICSM '94 Proceedings of the International Conference on Software Maintenance
A change impact model for changeability assessment in object-oriented software systems
Science of Computer Programming - Software maintenance and reengineering (CSMR 99)
Estimating the Size of Changes for Evolving Object Oriented Systems: A Case Study
METRICS '99 Proceedings of the 6th International Symposium on Software Metrics
Supporting Impact Analysis and Change Propagation in Software Engineering Environments
STEP '97 Proceedings of the 8th International Workshop on Software Technology and Engineering Practice (STEP '97) (including CASE '97)
Change impact analysis of object-oriented software
Change impact analysis of object-oriented software
A Survey of Software Refactoring
IEEE Transactions on Software Engineering
Chianti: a tool for change impact analysis of java programs
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
An infrastructure for development of object-oriented, multi-level configuration management services
Proceedings of the 27th international conference on Software engineering
The story of moose: an agile reengineering environment
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Towards a taxonomy of software change: Research Articles
Journal of Software Maintenance and Evolution: Research and Practice - Unanticipated Software Evolution
Managing the Evolution of Web-Based Applications with WebSCM
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
Analyzing Change Impact in Object-Oriented Systems
EUROMICRO '06 Proceedings of the 32nd EUROMICRO Conference on Software Engineering and Advanced Applications
Refactoring-Aware Configuration Management for Object-Oriented Programs
ICSE '07 Proceedings of the 29th international conference on Software Engineering
An Evolution Model for Software Modularity Assessment
WoSQ '07 Proceedings of the 5th International Workshop on Software Quality
Encapsulating and exploiting change with changeboxes
ICDL '07 Proceedings of the 2007 international conference on Dynamic languages: in conjunction with the 15th International Smalltalk Joint Conference 2007
Automatic Package Coupling and Cycle Minimization
WCRE '09 Proceedings of the 2009 16th Working Conference on Reverse Engineering
Identifying Cycle Causes with Enriched Dependency Structural Matrix
WCRE '09 Proceedings of the 2009 16th Working Conference on Reverse Engineering
A Taxonomy of Model Transformation
Electronic Notes in Theoretical Computer Science (ENTCS)
Supporting incremental change in large system models
IWST '09 Proceedings of the International Workshop on Smalltalk Technologies
MoScript: a DSL for querying and manipulating model repositories
SLE'11 Proceedings of the 4th international conference on Software Language Engineering
CoExist: overcoming aversion to change
Proceedings of the 8th symposium on Dynamic languages
Hi-index | 0.00 |
When reengineering software systems, maintainers should be able to assess and compare multiple change scenarios for a given goal, so as to choose the most pertinent one. Because they implicitly consider one single working copy, revision control systems do not scale up well to perform simultaneous analyses of multiple versions of systems. We designed Orion, an interactive prototyping tool for reengineering, to simulate changes and compare their impact on multiple versions of software source code models. Our approach offers an interactive simulation of changes, reuses existing assessment tools, and has the ability to hold multiple and branching versions simultaneously in memory. Specifically, we devise an infrastructure which optimizes memory usage of multiple versions for large models. This infrastructure uses an extension of the FAMIX source code meta-model but it is not limited to source code analysis tools since it can be applied to models in general. In this paper, we validate our approach by running benchmarks on memory usage and computation time of model queries on large models. Our benchmarks show that the Orion approach scales up well in terms of memory usage, while the current implementation could be optimized to lower its computation time. We also report on two large case studies on which we applied Orion.