Results 1 -
3 of
3
An approach to software evolution based on semantic change
- In FASE ’07: Proceedings of the 10th Conference on Fundamental Approaches to Software Engineering
, 2007
"... Abstract. The analysis of the evolution of software systems is a useful source of information for a variety of activities, such as reverse engineering, maintenance, and predicting the future evolution of these systems. Current software evolution research is mainly based on the information contained ..."
Abstract
-
Cited by 4 (2 self)
- Add to MetaCart
Abstract. The analysis of the evolution of software systems is a useful source of information for a variety of activities, such as reverse engineering, maintenance, and predicting the future evolution of these systems. Current software evolution research is mainly based on the information contained in versioning systems such as CVS and SubVersion. But the evolutionary information contained therein is incomplete and of low quality, hence limiting the scope of evolution research. It is incomplete because the historical information is only recorded at the explicit request of the developers (a commit in the classical checkin/checkout model). It is of low quality because the file-based nature of versioning systems leads to a view of software as being a set of files. In this paper we present a novel approach to software evolution analysis which is based on the recording of all semantic changes performed on a system, such as refactorings. We describe our approach in detail, and demonstrate how it can be used to perform fine-grained software evolution analysis. 1
Using meta-model transformation to model software evolution
- In 2nd International Workshop on Meta-Models and Schemas for Reverse Engineering (ATEM
, 2004
"... Understanding how software systems evolve is useful from different perspectives: reverse engineering, empirical studies etc.. For an effective understanding we need an explicit meta-model. We introduce Hismo, a meta-model which is centered around the notion of history and we show how we can obtain i ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
Understanding how software systems evolve is useful from different perspectives: reverse engineering, empirical studies etc.. For an effective understanding we need an explicit meta-model. We introduce Hismo, a meta-model which is centered around the notion of history and we show how we can obtain it from a snapshot meta-model. Based on our experience in developing the Hismo reverse engineering system, we show how we can transform a snapshot meta-model in a history metamodel.
Prof. Dr. Oscar Nierstrasz
, 2001
"... Inter-language bridging is an important issue of scripting language design and implementation. Most of the popular languages such as Python, Perl, Tcl, and Ruby use a bridging approach based on wrappers that are written in the external language (usually C/C++) and serve as a glue layer between the l ..."
Abstract
- Add to MetaCart
Inter-language bridging is an important issue of scripting language design and implementation. Most of the popular languages such as Python, Perl, Tcl, and Ruby use a bridging approach based on wrappers that are written in the external language (usually C/C++) and serve as a glue layer between the languages. This allows a wide flexibility in defining the glue abstractions, but it requires the user to specify them on the level of the implementation language, and it therefore impairs the higher-level scripting process. In contrast, the first implementations of JPiccola, a scripting and composition language implemented in Java, use a generic bridging strategy based on information provided by Java’s runtime introspection facilities. This strategy makes accessing of external objects more lightweight, but it does not provide the necessary means of abstraction and leads to a very tight coupling between the two language levels. In this thesis, we present a new bridging strategy for Piccola that combines the advantages of the two approaches. We minimize the bridging functionality that is hardcoded in the virtual machine by making it a meta-aspect of the language Piccola.

