Journal Papers
Orla Greevy, Stephane Ducasse and Tudor Girba
Analyzing Software Evolution through Feature Views
2005
International Journal of Software Maintenance and Evolution: Research and Practice
Abstract:
Features encapsulate the domain knowledge of a software system and thus are valuable sources of information for a reverse engineer. When analyzing the evolution of a system, we need to know how and which features were modified to recover both the change intention and its extent, namely which source artifacts are affected. Typically, the implementation of a feature crosscuts a number of source artifacts. To obtain a mapping between features to the source artifacts, we exercise the features and capture their execution traces. However this results in large traces that are difficult to interpret. To tackle this issue we compact the traces into simple sets of source artifacts that participate in a feature's runtime behavior. We refer to these compacted traces as feature views. Within a feature view, we partition the source artifacts into disjoint sets of characterized software entities. The characterization defines the level of participation of a source entity in the features. We then analyze the features over several versions of a system and we plot their evolution to reveal how and hich features were affected by changes in the code. We show the usefulness of our approach by applying it to a case study where we address the problem of merging parallel development tracks of the same system.
Bib entry:
@inproceedings{Gree06b,
author = {Orla Greevy and St\'ephane Ducasse and Tudor G\^irba},
title = {Analyzing Software Evolution through Feature Views},
booktitle = {International Journal on Software Maintenance and Evolution: Research and Practice},
year = {2006}
}
Conference Papers
David Roethlisberger, Orla Greevy and Oscar Nierstrasz
Exploiting Runtime Information in the IDE
2008
ICPC '08 (16th International Conference on
Program Comprehension), IEEE Computer Society Press
Adrian Lienhard, Tudor Girba, Orla Greevy and Oscar Nierstrasz
Test Blueprints - Exposing Side Effects in Execution Traces to Support Writing Unit Tests
2008
CSMR '08 (12th European Conference on Software Maintenance and
Re-Engineering), IEEE Computer Society Press
David Roethlisberger, Orla Greevy and Oscar Nierstrasz
Feature Driven Browsing, in Proceedings of ESUG, August 2007.
2007
ESUG 2007
Adrian Lienhard, Orla Greevy and Oscar Nierstrasz
Tracking Objects to detect Feature Dependencies, in Proceedings of ICPC, June 2007.
2007
ICPC 2007
Orla Greevy, Tudor Girba and Stephane Ducasse
How Developers develop Features, in Proceedings of CSMR, March 2007.
2007
CSMR 2007
Orla Greevy, Michele Lanza and Christoph Wysseier
Visualizing Live Software in 3D, in Proceedings of ACM Symposium on Software Visualization (SoftVis 2006), ACM, September 2006.
2006
SoftVis 2006
Adrian Kuhn and Orla Greevy
Exploiting the Analogy Between Traces and Signal Processing,in Proceedings of International Conference on Software Maintenance (ICSM 2006), IEEE Computer Society Press, September 2006.
2006
ICSM 2006
Orla Greevy, Stephane Ducasse and Tudor Girba
Analyzing Feature Traces to Incorporate the Semantics of Change in Software Evolution Analysis
2005
ICSM 2005
pdf
Abstract:
Many of the approaches that analyze software evolution consider a
static perspective of a system. Static analysis approaches focus
on the evolution of static software entities such as packages,
classes and methods. Without knowledge of the roles software
entities play in system features, it is difficult to interpret the
motivation behind changes and extensions in the code. To tackle
this problem, we propose an approach to software evolution
analysis that exploits the relationships between features and
software entities. Our definition of a feature is a unit of
observable behavior of a software system. We define history
measurements that summarize the evolution of software entities
from a feature perspective. We show how we use our feature
perspective of software evolution to interpret modifications and
extensions to the code. We apply our approach on two case studies
and discuss our findings.
Bib entry:
@inproceedings{Gree05c,
author = {Orla Greevy and St\'ephane Ducasse and Tudor G\^irba},
title = {Analyzing Feature Traces to Incorporate the Semantics of Change in Software Evolution Analysis},
booktitle = {Proceedings of ICSM 2005 (21th International Conference on Software Maintenance)},
year = {2005},
month = sep,
pages = {347--356},
keywords = {scg-pub greevy jb05 stefPub Feature Feature-Traces Dynamic Analysis
Evolution history greevy},
}
Orla Greevy and Stephane Ducasse
Correlating Features and Code - a Two-Sided Approach
2005.03.24
CSMR 2005
pdf
Abstract:
Software developers are constantly required to modify and adapt
features of an application in response to changing requirements.
The problem is that just by reading the source code, it is
difficult to determine how classes and methods contribute to the
runtime behavior of features. Moreover, dependencies between system features
are not obvious, consequently software maintenance operations often result
in unintended side effects. To tackle these problems, we propose a
compact feature-driven approach (\ie summarized trace information) based on dynamic analysis
to characterize features and computational units of an
application. We extract execution traces to
achieve an explicit mapping between features and classes using two
complementary perspectives. We apply our approach to two case
studies and we report our findings.
Bib entry:
@inproceedings{Gree05a,
author = {Orla Greevy and St\'ephane Ducasse},
title = {Correlating Features and Code Using A Compact Two-Sided Trace Analysis Approach},
booktitle = {Proceedings of CSMR 2005 (9th European Conference on Software Maintenance and Reengineering},
publisher = {IEEE Computer Society Press},
year = {2005},
pages = {314--323},
url = {http://www.iam.unibe.ch/~scg/Archive/Papers/Gree05aCSMR2005Features.pdf}
}
Workshop Papers
Orla Greevy
Dynamix - a Meta-model to Support Feature-Centric Analysis
07.2007
FAMOOSR 2007 (1st International Workshop on FAMIX)
Adrian Lienhard, Adrian Kuhn and Orla Greevy
Rapid Prototyping of Visualizations using Mondrian
06.2007
Vissoft International Workshop
Marcus Denker, Orla Greevy and Michele Lanza
Higher Abstractions for Dynamic Analysis
10.2006
PCODA 2006 (2nd International Workshop on Program Comprehension through dynamic analysis)
Adrian Kuhn and Orla Greevy
Summarizing Traces as Signals in Time
10.2006
PCODA 2006 (2nd International Workshop on Program Comprehension through dynamic analysis)
Bib entry:
Adrian Kuhn, Orla Greevy and Tudor Girba
Applying Semantic Analysis to Feature Execution Traces
11.2005
PCODA 2005 (Ist International Workshop on Program Comprehension through dynamic analysis)
Abstract:
Recently there has been a revival of interest in feature analysis of software systems. Approaches to feature location have used a wide range of techniques such as dynamic analysis, static analysis, information retrieval and formal concept analysis. In this paper we introduce a novel approach to analyze the execution traces of features using Latent Semantic Indexing (LSI). Our goal is twofold. On the one hand we detect similarities between features based on the content of their traces, and on the other hand we categorize classes based on the frequency of the outgoing invocations involved in the traces. We apply our approach on two case studies and we discuss its benefits and drawbacks.
Bib entry:
Markus Gaelli, Orla Greevy and Oscar Nierstrasz
Composing Unit Tests
09.2005
SPLiT 2005 (2nd International Workshop on Software Productline Testing)
pdf
Abstract:
If we were to apply the testing techniques of ob ject-oriented
systems prescribed by the XUnit framework to a car factory, the result
would be an inefficient process: A tire would be created, quality assured
and then thrown away, only to be recreated later to test the functionality
of the whole car.
XUnit makes it difficult to reuse intermediate results of low level unit
tests. As a consequence a higher level unit test is forced to recreate
test scenarios which were already created by lower level unit tests. This
duplicated testing effort is time-consuming both for setting up new sce-
narios and for running the tests. To address this problem we suggest
a semi-automatic approach to compose tests. First we describe how we
can detect candidates of composable test cases by partially ordering their
sets of covered method signatures, then we present techniques to refactor
unit tests accordingly.
Bib entry:
Orla Greevy, Michele Lanza and Christoph Wysseier
Visualizing Feature Interaction in 3-D
09.2005
Vissoft 2005
pdf
Abstract:
Without a clear understanding of how features of a software system
are implemented, a maintenance change in one part of the code may
risk adversely affecting other features. Feature implementation
and relationships between features are not explicit in the code.
To address this problem, we propose an interactive 3D visualization technique based
on a combination of static and dynamic analysis which enables the
software developer to step through visual
representations of execution traces. We visualize dynamic
behaviors of execution traces in terms of object creations and
interactions and represent this in the context of a static
class-hierarchy view of a system. We describe how we apply our
approach to a case study to visualize
and identify common parts of the code that are active during feature execution.
Bib entry:
Orla Greevy and Stephane Ducasse
Characterizing the Functional Roles of Classes and Methods by Analyzing Feature Traces
07.2005
WOOR 2005
pdf
Abstract:
Software developers are often faced with the task of maintaining
or extending large and complex applications, with which they are
unfamiliar. Typically change requests and bug reports are expressed in terms of system features. Much of the maintenance effort is spent trying to identify which
classes and methods provide functionality to individual features.
To tackle this problem, we propose an approach based on dynamic analysis that exploits the
relationships between features and software entities. Our
definition of a feature is a unit of observable behavior of a
software system. We apply our approach to large open source
application and identify the key classes and methods which
provide functionality for individual features.
Bib entry:
@inproceedings{Gree05b,
author = {Orla Greevy and St\'ephane Ducasse},
title = {Characterizing the Functional Roles of Classes and Methods by Analyzing Feature Traces},
booktitle = {Proceedings of WOOR 2005 (6th International Workshop on Object-Oriented Reengineering)},
year = {2005},
month = jul,
keywords = {scg-pub greevy jb05 stefPub Feature Feature-Traces Dynamic Analysis
Evolution greevy}
}
Workshops
Andy Zaidman and Abdelwahab Hamou-Lhadj and Orla Greevy
PCODA - Program Comprehension through Dynamic Analysis
2005
WCRE 2005
Andy Zaidman and Abdelwahab Hamou-Lhadj and Orla Greevy
PCODA - Program Comprehension through Dynamic Analysis
2006
WCRE 2006
Abstract:
Workshop proposal submitted to WCRE 2006. Without consistent or adequately complete documentation, maintainers are faced with the inevitable problem of understanding how the system is implemented prior to undertaking any maintenance task. Research into the discipline of program comprehension aims to reduce the impact of this problem. Studies have shown that software engineers tend to spend up to 50% of their time trying to comprehend the
structure of a software system.
PCODA focuses on program comprehension techniques that rely specifically on dynamic analysis.
Andy Zaidman and Abdelwahab Hamou-Lhadj and Orla Greevy
PCODA - Program Comprehension through Dynamic Analysis
2007
WCRE 2007
Abstract:
Workshop proposal submitted to WCRE 2007. Without consistent or adequately complete documentation, maintainers are faced with the inevitable problem of understanding how the system is implemented prior to undertaking any maintenance task. Research into the discipline of program comprehension aims to reduce the impact of this problem. Studies have shown that software engineers tend to spend up to 50% of their time trying to comprehend the
structure of a software system.
PCODA focuses on program comprehension techniques that rely specifically on dynamic analysis.
Theses
Orla Greevy
Enriching Reverse Engineering with Feature Analysis
2007
PhD thesis submitted to Berne University,Switzerland
Orla Greevy
An Object-Oriented Approach to the Design of an EDI User Agent
1996
Masters thesis submitted to Dublin University, Trinity College (Ireland), Department of Computer Science
Orla Greevy
Implementing Ada-Style Message Passing in Modula-2
My final year project, under the supervision of
investigated how the Ada language constructs for Message Passing were implemented. I implemented these constructs then in Modula-2