Claus Lewerentz
Current Organizations / Institutes
The organizations/institutes from the scholar's latest article
Previous Organizations / Institutes
The organizations / institutes from the scholar's other articles in the past ten years
Research Subjects
Claus Lewerentz has a total of 30 co-authors. Here are the top co-authors by number of shared publications:
- Dirk Beyer
LMU Munich
4 shared publications Frank Simon
Software & Systems Engineering Research Group
3 shared publicationsFrank Steinbrückner
Brandenburg University of Technology Cottbus, Cottbus, Germany
3 shared publicationsA. Noack
IEEE Computer Society
2 shared publicationsF. Simon
2 shared publicationsGregor Engels
University of Paderborn
2 shared publications
Latest Publications
- 19 March 2012
- Published by SAGE Publications in Information Visualization
- Vol. 12 (2) , 200-216
Understanding software evolution with software cities
Software cities are visualizations of software systems in the form of virtual cities. They are used as platforms to integrate a large variety of product- and process-related analysis data. Their usability, however, for real-world software development often suffers from their inability to appropriately deal with software changes. Even small structural changes can disrupt the overall structure of the city, which in turn corrupts the mental maps of its users. In this article we describe a systematic approach to utilize the city metaphor for the visualization of evolving software systems as growing software cities. The main contribution is a new layout approach which explicitly takes the development history of software systems into account. The approach has two important effects: first, it creates a stable gestalt of software cities even when the underlying software systems evolve; thus, by preserving its users’ mental maps these cities are especially suitable for use during ongoing system development. Second, it makes history directly visible in the city layouts, which allows for supporting novel analysis scenarios. We illustrate such scenarios by presenting several thematic cities’ maps, each capturing specific development history aspects.
- 19 March 2012
- Published by SAGE Publications in Information Visualization
- Vol. 12 (2) , 200-216
Understanding software evolution with software cities
Software cities are visualizations of software systems in the form of virtual cities. They are used as platforms to integrate a large variety of product- and process-related analysis data. Their usability, however, for real-world software development often suffers from their inability to appropriately deal with software changes. Even small structural changes can disrupt the overall structure of the city, which in turn corrupts the mental maps of its users. In this article we describe a systematic approach to utilize the city metaphor for the visualization of evolving software systems as growing software cities. The main contribution is a new layout approach which explicitly takes the development history of software systems into account. The approach has two important effects: first, it creates a stable gestalt of software cities even when the underlying software systems evolve; thus, by preserving its users’ mental maps these cities are especially suitable for use during ongoing system development. Second, it makes history directly visible in the city layouts, which allows for supporting novel analysis scenarios. We illustrate such scenarios by presenting several thematic cities’ maps, each capturing specific development history aspects.
- Open Access
- 25 January 2012
- Published by Association for Computing Machinery (ACM)
- p. 193-199
Modeling rationale over time to support product line evolution planning
Software Product Lines are a strategic long-term investment and must evolve to meet new requirements over many years. In previous work, we have shown a model-driven approach (called EvoPL [21]) for planning and managing long-term evolution of product lines. It allows specifying historic and planned future evolution in terms of changes on feature model level. It provides benefits like abstraction, efficiency through automation, and the capability to perform analysis based on models. In this paper, we argue that specifying changes alone is beneficial but not sufficient. This is because for strategic evolution planning "decision drivers" like goals, requirements, and rationale are essential information as well. Hence, we propose a modeling approach that represents such decision drivers and their interrelationships. The approach is based on concepts from literature (e.g., QOC and goal-oriented requirements engineering) and combines and extends them to address the specific needs of model-driven long-term evolution management. Beyond the basic usage for documentation, the suggested models can be used for systematic future planning and tool-supported analysis, e.g., to evaluate the consistency of planned evolutionary changes.
- 25 January 2012
- Published by Association for Computing Machinery (ACM)
- p. 193-199
Open AccessModeling rationale over time to support product line evolution planning
Software Product Lines are a strategic long-term investment and must evolve to meet new requirements over many years. In previous work, we have shown a model-driven approach (called EvoPL [21]) for planning and managing long-term evolution of product lines. It allows specifying historic and planned future evolution in terms of changes on feature model level. It provides benefits like abstraction, efficiency through automation, and the capability to perform analysis based on models. In this paper, we argue that specifying changes alone is beneficial but not sufficient. This is because for strategic evolution planning "decision drivers" like goals, requirements, and rationale are essential information as well. Hence, we propose a modeling approach that represents such decision drivers and their interrelationships. The approach is based on concepts from literature (e.g., QOC and goal-oriented requirements engineering) and combines and extends them to address the specific needs of model-driven long-term evolution management. Beyond the basic usage for documentation, the suggested models can be used for systematic future planning and tool-supported analysis, e.g., to evaluate the consistency of planned evolutionary changes.
- Open Access
- 25 October 2010
- Published by Association for Computing Machinery (ACM)
- p. 193-202
Representing development history in software cities
In this paper we describe a systematic approach to utilize the city metaphor for the visualization of large software systems as evolving software cities. The main contribution is a new layout approach which explicitly takes the development history of software systems into account and makes history directly visible in the layouts. These layouts incrementally evolve in a very smooth and stable way during the development of the represented software system. They are used as a visualization platform for integrating a large variety of product and process data and thus create a coherent set of specialized visualizations. To illustrate this we present some example maps capturing specific development history aspects.
- 25 October 2010
- Published by Association for Computing Machinery (ACM)
- p. 193-202
Open AccessRepresenting development history in software cities
In this paper we describe a systematic approach to utilize the city metaphor for the visualization of large software systems as evolving software cities. The main contribution is a new layout approach which explicitly takes the development history of software systems into account and makes history directly visible in the layouts. These layouts incrementally evolve in a very smooth and stable way during the development of the represented software system. They are used as a visualization platform for integrating a large variety of product and process data and thus create a coherent set of specialized visualizations. To illustrate this we present some example maps capturing specific development history aspects.
- 1 January 2010
- Published by Springer Nature in Lecture Notes in Computer Science
- p. 274-308
Towards Managing Software Architectures with Ontologies
- 1 January 2010
- Published by Springer Nature in Lecture Notes in Computer Science
- p. 274-308
Towards Managing Software Architectures with Ontologies
- 1 January 2010
- Published by Springer Nature in Lecture Notes in Computer Science
- p. 1-5
Graph Transformations and Model-Driven Engineering: The Merits of Manfred Nagl
- 1 January 2010
- Published by Springer Nature in Lecture Notes in Computer Science
- p. 1-5
Graph Transformations and Model-Driven Engineering: The Merits of Manfred Nagl
- 15 October 2008
- Published by Springer Nature in Informatik Spektrum
- Vol. 31 (6) , 556-565
Software Controlling
- 15 October 2008
- Published by Springer Nature in Informatik Spektrum
- Vol. 31 (6) , 556-565
Software Controlling
- 1 January 2008
- Published by Springer Nature in Lecture Notes in Computer Science
- p. 205-219
Comprehensive Architecture Evaluation and Management in Large Software-Systems
- 1 January 2008
- Published by Springer Nature in Lecture Notes in Computer Science
- p. 205-219
Comprehensive Architecture Evaluation and Management in Large Software-Systems
- Open Access
- 14 May 2005
- Published by Association for Computing Machinery (ACM)
- p. 165-172
Voronoi treemaps for the visualization of software metrics
- 14 May 2005
- Published by Association for Computing Machinery (ACM)
- p. 165-172
Open AccessVoronoi treemaps for the visualization of software metrics
- Open Access
- 14 May 2005
- Published by Association for Computing Machinery (ACM)
- p. 155-164
A space of layout styles for hierarchical graph models of software systems
Hierarchical graphs are widely used as models of the structure of software systems. A central problem in the visualization of hierarchical graphs is the computation of layouts, i.e. of positions of the nodes in two- or three-dimensional space. We derive requirements for graph layouts from various software analysis questions, and classify the required layouts along three dimensions: layouts with meaningful distances between single nodes vs. layouts with meaningful distances between groups of nodes, layouts reflecting adjacency vs. layouts reflecting hierarchy, and layouts that faithfully reflect the size of subgraphs vs. layouts where certain subgraphs are magnified. We present a fairly simple and theoretically validated energy model for computing such layouts.
- 14 May 2005
- Published by Association for Computing Machinery (ACM)
- p. 155-164
Open AccessA space of layout styles for hierarchical graph models of software systems
Hierarchical graphs are widely used as models of the structure of software systems. A central problem in the visualization of hierarchical graphs is the computation of layouts, i.e. of positions of the nodes in two- or three-dimensional space. We derive requirements for graph layouts from various software analysis questions, and classify the required layouts along three dimensions: layouts with meaningful distances between single nodes vs. layouts with meaningful distances between groups of nodes, layouts reflecting adjacency vs. layouts reflecting hierarchy, and layouts that faithfully reflect the size of subgraphs vs. layouts where certain subgraphs are magnified. We present a fairly simple and theoretically validated energy model for computing such layouts.
- 7 March 2005
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Software Engineering
- Vol. 31 (2) , 137-149
Efficient relational calculation for software analysis
Calculating with graphs and relations has many applications in the analysis of software systems, for example, the detection of design patterns or patterns of problematic design and the computation of design metrics. These applications require an expressive query language, in particular, for the detection of graph patterns, and an efficient evaluation of the queries even for large graphs. In this paper, we introduce RML, a simple language for querying and manipulating relations based on predicate calculus, and CrocoPat, an interpreter for RML programs. RML is general because it enables the manipulation not only of graphs (i.e., binary relations), but of relations of arbitrary arity. CrocoPat executes RML programs efficiently because it internally represents relations as binary decision diagrams, a data structure that is well-known as a compact representation of large relations in computer-aided verification. We evaluate RML by giving example programs for several software analyses and CrocoPat by comparing its performance with calculators for binary relations, a Prolog system, and a relational database management system.
- 7 March 2005
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Software Engineering
- Vol. 31 (2) , 137-149
Efficient relational calculation for software analysis
Calculating with graphs and relations has many applications in the analysis of software systems, for example, the detection of design patterns or patterns of problematic design and the computation of design metrics. These applications require an expressive query language, in particular, for the detection of graph patterns, and an efficient evaluation of the queries even for large graphs. In this paper, we introduce RML, a simple language for querying and manipulating relations based on predicate calculus, and CrocoPat, an interpreter for RML programs. RML is general because it enables the manipulation not only of graphs (i.e., binary relations), but of relations of arbitrary arity. CrocoPat executes RML programs efficiently because it internally represents relations as binary decision diagrams, a data structure that is well-known as a compact representation of large relations in computer-aided verification. We evaluate RML by giving example programs for several software analyses and CrocoPat by comparing its performance with calculators for binary relations, a Prolog system, and a relational database management system.