We developed a reverse engineering technique, named Variant Analysis, aimed for recovering and visualizing information about commonalities and differences that exist in the source code of multiple similar software systems. The delivered information is available on any level of system hierarchy, from single lines of code up to whole software systems. The technique scales well for many compared system variants and for large software systems. We think Variant Analysis could be useful for practitioners who need to identify source-level similarities between many potentially unknown software systems - either with the primary goal of understanding the variability in the systems, or with a further motivation such as preparation for an extractive in...
Software variants emerge from ad-hoc copying in-the-large with adaptations to a specific context. As...
Software product lines can be developed in a proactive, reactive or extractive way. In the last case...
This paper describes a method to assess commonality/variability of existing systems into a software ...
We developed a reverse engineering technique, named Variant Analysis, aimed for recovering and visua...
Software reuse approaches, such as software product lines, can help to achieve considerable effort a...
Software reuse approaches, such as software product lines, can help to achieve considerable effort a...
Software product lines are frequently created using an extractive approach, in which a group of exis...
Software reuse approaches are known to enable considerable effort and cost savings during the develo...
Software reuse approaches, such as software product lines, can help to achieve considerable effort a...
Software reuse approaches, such as software product lines, can help to achieve considerable effort a...
Software systems are often tailored to individual customer needs. Consequently, these adaptations re...
Successful software systems evolve over time and are typically tailored to individual customer needs...
Software reuse has always been an integral part of software development, considering the cost and ti...
Abstract. There are two good reasons for wanting to detect variability concepts in source code: migr...
There are two good reasons for wanting to detect variability concepts in source code: migrating to a...
Software variants emerge from ad-hoc copying in-the-large with adaptations to a specific context. As...
Software product lines can be developed in a proactive, reactive or extractive way. In the last case...
This paper describes a method to assess commonality/variability of existing systems into a software ...
We developed a reverse engineering technique, named Variant Analysis, aimed for recovering and visua...
Software reuse approaches, such as software product lines, can help to achieve considerable effort a...
Software reuse approaches, such as software product lines, can help to achieve considerable effort a...
Software product lines are frequently created using an extractive approach, in which a group of exis...
Software reuse approaches are known to enable considerable effort and cost savings during the develo...
Software reuse approaches, such as software product lines, can help to achieve considerable effort a...
Software reuse approaches, such as software product lines, can help to achieve considerable effort a...
Software systems are often tailored to individual customer needs. Consequently, these adaptations re...
Successful software systems evolve over time and are typically tailored to individual customer needs...
Software reuse has always been an integral part of software development, considering the cost and ti...
Abstract. There are two good reasons for wanting to detect variability concepts in source code: migr...
There are two good reasons for wanting to detect variability concepts in source code: migrating to a...
Software variants emerge from ad-hoc copying in-the-large with adaptations to a specific context. As...
Software product lines can be developed in a proactive, reactive or extractive way. In the last case...
This paper describes a method to assess commonality/variability of existing systems into a software ...