@inproceedings{LewerentzSimon, author = {Lewerentz, Claus and Simon, Frank}, title = {Metrics-based 3D Visualization of Large Object-Oriented Programs}, abstract = {In this paper a new approach for a metrics based software visualization is presented which supports an efficient and effective quality assessment of large object-oriented software systems. It is based on the combination of software metrics data with structure information to form a virtual information space. This information space is visualized using 3D graph structures that allow to represent in a uniform way many aspects and views on it. The layout approach for these graphs uses a generic similarity measure to calculate geometric distances between the graph nodes and a force-directed mapping into 3D space. A particular strength of the approach is that the resulting geometrical structures can be well interpreted with respect to the architecture and design quality of the analysed software. Such 3D visualizations have been used successfully in several case studies for the quality assessment of industrial C++/Java projects.}, language = {en} } @phdthesis{Beyer, author = {Beyer, Dirk}, title = {Formale Verifikation von Realzeit-Systemen mittels Cottbus Timed Automata}, url = {http://nbn-resolving.de/urn:nbn:de:kobv:co1-000000258}, language = {de} } @inproceedings{SimonSteinbruecknerLewerentz, author = {Simon, Frank and Steinbr{\"u}ckner, Frank and Lewerentz, Claus}, title = {Anpaßbare, explorierbare virtuelle Informationsr{\"a}ume zur Qualit{\"a}tsbewertung großer Software-Systeme}, series = {3. Workshop Software Reengineering, Bad Honnef, 10./11. Mai 2001}, booktitle = {3. Workshop Software Reengineering, Bad Honnef, 10./11. Mai 2001}, publisher = {Univ., Inst. f{\"u}r Informatik}, address = {Koblenz-Landau}, language = {de} } @inproceedings{BeyerHeinig, author = {Beyer, Dirk and Heinig, Andy}, title = {Different Strategies for BDD-based Reachability Analysis of Timed Automata}, series = {Proceedings of the 2nd IEEE/IFIP Joint Workshop on Formal Specifications of Computer-Based Systems (FSCBS 2001, Washington, D.C., April 2001)}, booktitle = {Proceedings of the 2nd IEEE/IFIP Joint Workshop on Formal Specifications of Computer-Based Systems (FSCBS 2001, Washington, D.C., April 2001)}, editor = {Rozenblit, Jerzy and Sveda, Miroslav and Rattray, Charles}, address = {Stirling}, pages = {89 -- 98}, language = {en} } @inproceedings{BeyerLewerentzSimon, author = {Beyer, Dirk and Lewerentz, Claus and Simon, Frank}, title = {Impact of Inheritance on Metrics for Size, Coupling, and Cohesion in Object Oriented Systems}, series = {New approaches in software measurement, 10th international workshop, proceedings, IWSM 2000, Berlin, Germany, October 4 - 6, 2000}, booktitle = {New approaches in software measurement, 10th international workshop, proceedings, IWSM 2000, Berlin, Germany, October 4 - 6, 2000}, editor = {Abran, Alain and Dumke, Reiner}, publisher = {Springer}, address = {Berlin [u.a.]}, isbn = {3-540-41727-3}, pages = {1 -- 17}, language = {en} } @inproceedings{BeyerNoack, author = {Beyer, Dirk and Noack, Andreas}, title = {Efficient Verification of Timed Automata using BDDs}, series = {FMICS 2001, Formal methods for industrial critical systems, proceedings, International workshop on formal methods for industrial critical systems 6, 16 - 17 July 2001, Paris}, booktitle = {FMICS 2001, Formal methods for industrial critical systems, proceedings, International workshop on formal methods for industrial critical systems 6, 16 - 17 July 2001, Paris}, editor = {Ultes-Nitsche, Ulrich and Gnesi, Stefania}, publisher = {INRIA}, address = {Rocquencourt}, isbn = {2-7261-1187-4}, pages = {95 -- 113}, language = {en} } @inproceedings{BeyerRust, author = {Beyer, Dirk and Rust, Heinrich}, title = {Timed Automata Formal Definition and Semantics}, series = {Joint Workshop on Formal Specification of Computer-Based Systems, Washington DC, USA, April 20, 2001}, booktitle = {Joint Workshop on Formal Specification of Computer-Based Systems, Washington DC, USA, April 20, 2001}, editor = {Rattray, Charles and Sveda, Miroslav and Rozenblit, Jerzy}, publisher = {University of Stirling, Dept. of Computing Science and}, address = {Stirling}, pages = {75 -- 87}, language = {en} } @inproceedings{Beyer, author = {Beyer, Dirk}, title = {Efficient Reachability Analysis and Refinement Checking of Timed Automata using BDDs}, series = {Correct hardware design and verification methods, 11th IFIP WG 10.5 advanced research working conference, proceedings, CHARME 2001, Livingston, Scotland, UK, September 4 - 7, 2001}, booktitle = {Correct hardware design and verification methods, 11th IFIP WG 10.5 advanced research working conference, proceedings, CHARME 2001, Livingston, Scotland, UK, September 4 - 7, 2001}, editor = {Margaria, Tiziana and Melham, Tom}, publisher = {Springer}, address = {Berlin [u.a.]}, isbn = {3-540-42541-1}, pages = {86 -- 91}, language = {en} } @inproceedings{Beyer, author = {Beyer, Dirk}, title = {Improvements in BDD-based Reachability Analysis of Timed Automata}, series = {Formal methods for increasing software productivity, proceedings, FME 2001, International Symposium of Formal Methods Europe, Berlin, Germany, March 12 - 16, 2001}, booktitle = {Formal methods for increasing software productivity, proceedings, FME 2001, International Symposium of Formal Methods Europe, Berlin, Germany, March 12 - 16, 2001}, editor = {Zave, Pamela and Oliveira, Jos{\´e} Nuno}, publisher = {Springer}, address = {Berlin [u.a.]}, isbn = {3-540-41791-5}, pages = {318 -- 343}, language = {en} } @inproceedings{LewerentzRust, author = {Lewerentz, Claus and Rust, Heinrich}, title = {Die Rolle der Reflexion in Software-Praktika}, series = {Software Engineering im Unterricht der Hochschulen, SEUH 7, Z{\"u}rich 2001}, booktitle = {Software Engineering im Unterricht der Hochschulen, SEUH 7, Z{\"u}rich 2001}, editor = {Lichter, Horst and Glinz, Martin}, publisher = {dpunkt-Verlag}, address = {Heidelberg}, isbn = {3-89864-106-6}, pages = {73 -- 88}, language = {de} } @inproceedings{RustLewerentz, author = {Rust, Heinrich and Lewerentz, Claus}, title = {A Model for Analyzing Measurement Based Feedback Loops in Software Development Projects}, series = {Advances in learning software organizations, third international workshop, proceedings, LSO 2001, Kaiserslautern, Germany, September 12 - 13, 2001}, booktitle = {Advances in learning software organizations, third international workshop, proceedings, LSO 2001, Kaiserslautern, Germany, September 12 - 13, 2001}, editor = {Althoff, Klaus-Dieter}, publisher = {Springer}, address = {Berlin [u.a.]}, isbn = {3-540-42574-8}, pages = {135 -- 149}, language = {en} } @inproceedings{SimonSteinbruecknerLewerentz, author = {Simon, Frank and Steinbr{\"u}ckner, Frank and Lewerentz, Claus}, title = {Metrics Based Refactoring}, series = {Proceedings of the Fifth European Conference on Software Maintenance and Reengineering, 14 - 16 March 2001, Lisbon, Portugal}, booktitle = {Proceedings of the Fifth European Conference on Software Maintenance and Reengineering, 14 - 16 March 2001, Lisbon, Portugal}, editor = {Sousa, Pedro}, publisher = {IEEE Computer Society}, address = {Los Alamitos, Calif. [u.a.]}, isbn = {0-7695-1028-0}, pages = {30 -- 38}, language = {en} } @inproceedings{BeyerLewerentzNoack, author = {Beyer, Dirk and Lewerentz, Claus and Noack, Andreas}, title = {Rabbit: A Tool for BDD-based Verification of Real-Time Systems}, series = {Computer aided verification, 15th international conference, proceedings, CAV 2003, Boulder, CO, USA, July 8 - 12, 2003}, booktitle = {Computer aided verification, 15th international conference, proceedings, CAV 2003, Boulder, CO, USA, July 8 - 12, 2003}, editor = {Hunt, Warren A.}, publisher = {Springer}, address = {Berlin [u.a.]}, isbn = {3-540-40524-0}, pages = {122 -- 125}, abstract = {This paper gives a short overview of a model checking tool for real-time systems. The modeling language are timed automata extended with concepts for modular modeling. The tool provides reachability analysis and refinement checking, both implemented using the data structure BDD. Good variable orderings for the BDDs are computed from the modular structure of the model and an estimate of the BDD size. This leads to a significant performance improvement compared to the tool RED and the BDD-based version of Kronos.}, language = {en} } @inproceedings{BeyerNoack, author = {Beyer, Dirk and Noack, Andreas}, title = {Can Decision Diagrams Overcome State Space Explosion in Real-Time Verification?}, series = {Formal techniques for networked and distributed systems - FORTE 2003, 23rd IFIP WG 6.1, international conference, Berlin, Germany, September 29 - October 2, 2003, proceedings}, booktitle = {Formal techniques for networked and distributed systems - FORTE 2003, 23rd IFIP WG 6.1, international conference, Berlin, Germany, September 29 - October 2, 2003, proceedings}, editor = {K{\"o}nig, Hartmut}, publisher = {Springer}, address = {Berlin [u.a.]}, isbn = {3-540-20175-0}, pages = {193 -- 208}, abstract = {In this paper we analyze the efficiency of binary decision diagrams (BDDs) and clock difference diagrams (CDDs) in the verification of timed automata. Therefore we present analytical and empirical complexity results for three communication protocols. The contributions of the analyses are: Firstly, they show that BDDs and CDDs of polynomial size exist for the reachability sets of the three protocols. This is the first evidence that CDDs can grow only polynomially for models with non-trivial state space explosion. Secondly, they show that CDD-based tools, which currently use at least exponential space for two of the protocols, will only find polynomial-size CDDs if they use better variable orders, as the BDD-based tool Rabbit does. Finally, they give insight into the dependency of the BDD and CDD size on properties of the model, in particular the number of automata and the magnitude of the clock values.}, language = {en} } @inproceedings{Noack, author = {Noack, Andreas}, title = {An Energy Model for Visual Graph Clustering}, series = {Graph Drawing, 11th International Symposium, GD 2003, Perugia, Italy, Sep. 21 - 24, 2003}, booktitle = {Graph Drawing, 11th International Symposium, GD 2003, Perugia, Italy, Sep. 21 - 24, 2003}, editor = {Liotta, Guiseppe}, publisher = {Springer Verlag}, address = {Berlin [u.a.]}, isbn = {3-540-20831-3}, pages = {425 -- 436}, abstract = {We introduce an energy model whose minimum energy drawings reveal the clusters of the drawn graph. Here a cluster is a set of nodes with many internal edges and few edges to nodes outside the set. The drawings of the best-known force and energy models do not clearly show clusters for graphs whose diameter is small relative to the number of nodes. We formally characterize the minimum energy drawings of our energy model. This characterization shows in what sense the drawings separate clusters, and how the distance of separated clusters to the other nodes can be interpreted}, language = {en} } @inproceedings{Rust, author = {Rust, Heinrich}, title = {A Non-standard Approach to Operational Semantics for Timed Systems}, series = {Abstract state machines 2003, advances in theory and practice, 10th international workshop, proceedings, ASM 2003, Taormina, Italy, March 3 - 7, 2003}, booktitle = {Abstract state machines 2003, advances in theory and practice, 10th international workshop, proceedings, ASM 2003, Taormina, Italy, March 3 - 7, 2003}, editor = {B{\"o}rger, Egon}, publisher = {Springer}, address = {Heidelberg [u.a.]}, isbn = {3-540-00624-9}, pages = {423 -- 424}, language = {en} } @inproceedings{LewerentzSimonSteinbrueckneretal., author = {Lewerentz, Claus and Simon, Frank and Steinbr{\"u}ckner, Frank and Breitling, H. and Lilienthal, C. and Lippert, M.}, title = {External Validation of a Metrics-Based Quality Assessment of the JWAM Framework}, series = {Software-Messung und -Bewertung, Tagungsband Workshop der GI-Fachgruppe 2.1.10, 10./11. September 2001 an der Universit{\"a}t Kaiserslautern}, booktitle = {Software-Messung und -Bewertung, Tagungsband Workshop der GI-Fachgruppe 2.1.10, 10./11. September 2001 an der Universit{\"a}t Kaiserslautern}, publisher = {Dt. Univ.-Verl.}, address = {Wiesbaden}, isbn = {3-8244-7592-8}, pages = {32 -- 49}, language = {en} } @incollection{BennickeLewerentz, author = {Bennicke, Marcel and Lewerentz, Claus}, title = {Towards Managing Software Architectures with Ontologies}, abstract = {Abstract. Software architectures are key enabling assets within organizationsthat develop complex software systems. Among other purposes,software architectures are useful to maintain intellectual control overa software product. We propose a method to continuously check theconsistency between a specified architecture model and structural informationreverse engineered from the code. We develop criteria that adesign language for architectures should fulfill and show that an ontologybased description has substantial benefits over the standard modelinglanguages MOF/UML/OCL. Using ontologies allows the explicitmodelling of architectural styles as well as concrete system structuresin a single architecture design language. The resulting specifications aremodular, compositional and evolvable. Using ontologies we can apply anontology reasoner to implement consistency checks. Our method integratespreviously separate checks such as checking for allowed dependenciesand coding style into a single framework and enables more powerfuland flexible analyses.}, language = {en} } @inproceedings{Steinbrueckner, author = {Steinbr{\"u}ckner, Frank}, title = {Coherent Software Cities : Supporting Comprehension of Evolving Software Systems}, series = {2010 IEEE International Conference on Software Maintenance (ICSM 2010), Timi{\c{s}}oara, Romania, 12 - 18 September 2010}, booktitle = {2010 IEEE International Conference on Software Maintenance (ICSM 2010), Timi{\c{s}}oara, Romania, 12 - 18 September 2010}, publisher = {IEEE}, address = {Piscataway, NJ}, isbn = {978-1-4244-8630-4}, pages = {532 -- 533}, abstract = {Coherent Software Cities are a software visualization approach which adopts the city metaphor to support the comprehension of various aspects of evolving software systems. For this purpose, the approach implements a three-staged modeling chain yielding coherent sets of application specific visualizations. In this context, a new layout approach for software cities is presented, which explicitly takes development history into account. Its effects are twofold: First, evolution becomes visible in the layouts, which allows for supporting new application scenarios. Second, layouts evolve smoothly and stable during system evolution, which allows software cities to be used online, i.e. during ongoing system development and maintenance.}, language = {en} } @article{LewerentzRust, author = {Lewerentz, Claus and Rust, Heinrich}, title = {Software-Ingenieure als kompetente Teamworker}, series = {Softwaretechnik-Trends}, volume = {21}, journal = {Softwaretechnik-Trends}, number = {1}, issn = {0720-8928}, pages = {30 -- 35}, language = {de} } @inproceedings{Lewerentz, author = {Lewerentz, Claus}, title = {Metrics-based Quality Analysis of Large Software Products}, series = {Software-Metriken in der Praxis, Tagungsband des DASMA Software Metrik Kongresses METRIKON 2001, 25. - 26. Oktober, 2001, Dortmund}, booktitle = {Software-Metriken in der Praxis, Tagungsband des DASMA Software Metrik Kongresses METRIKON 2001, 25. - 26. Oktober, 2001, Dortmund}, editor = {Dumke, Reiner}, publisher = {Shaker}, address = {Aachen}, isbn = {3-8322-0470-9}, pages = {133 -- 146}, language = {en} } @inproceedings{BeyerNoack, author = {Beyer, Dirk and Noack, Andreas}, title = {Clustering Software Artifacts Based on Frequent Common Changes}, series = {Proceedings, 13th International Workshop on Program Comprehension, IWPC 2005, 15 - 16 May 2005, St. Louis, Missouri}, booktitle = {Proceedings, 13th International Workshop on Program Comprehension, IWPC 2005, 15 - 16 May 2005, St. Louis, Missouri}, publisher = {IEEE Computer Society}, address = {Los Alamitos, Calif. [u.a.]}, isbn = {0-7695-2254-8}, pages = {259 -- 268}, language = {en} } @inproceedings{NoackLewerentz, author = {Noack, Andreas and Lewerentz, Claus}, title = {Energy-Based Clustering of Graphs with Nonuniform Degrees}, language = {en} } @inproceedings{NoackLewerentz, author = {Noack, Andreas and Lewerentz, Claus}, title = {A Space of Layout Styles for Hierarchical Graph Models of Software Systems}, series = {Proceedings, SoftVis '05, ACM Symposium on Software Visualization, St. Louis, Missouri, May 14 - 15, 2005}, booktitle = {Proceedings, SoftVis '05, ACM Symposium on Software Visualization, St. Louis, Missouri, May 14 - 15, 2005}, publisher = {Association for Computing Machinery}, address = {New York, NY}, isbn = {1-59593-073-6}, pages = {155 -- 213}, language = {en} } @inproceedings{BeyerNoack, author = {Beyer, Dirk and Noack, Andreas}, title = {BDD-basierte Verifikation von Realzeit-Systemen}, language = {de} } @inproceedings{BotterweckThielCawleyetal., author = {Botterweck, Goetz and Thiel, Steffen and Cawley, Ciar{\´a}n and Nestor, Daren and Preußner, Andr{\´e}}, title = {Visual Configuration in Automotive Software Product Lines}, abstract = {Abstract. Software Product Line engineering has emerged as a viable and important software development paradigm in the automotive industry. It allows companies to realise significant improvements in time-to-market, cost, productivity, and system quality. One major difficulty with software product line engineering is related to the fact that a product line of industrial size can easily incorporate thousands of variation points. This scale of variability can become extremely complex to manage resulting in a product configuration process that bears significant costs. This paper introduces a meta-model and research tool that employs visualisation and interaction techniques to improve product configuration in high-variability product lines. The meta-model and techniques utilised are illustrated using an automotive restraint system example.}, language = {en} } @inproceedings{CiolkowskiHeidrichSimonetal., author = {Ciolkowski, Marcus and Heidrich, Jens and Simon, Frank and Radicke, Mathias}, title = {Empirical results from using custom-made software project control centers in industrial environments}, series = {Proceedings of the Second ACM-IEEE international symposium on Empirical software engineering and measurement, ESEM 2008, Kaiserslautern, Germany, Oktober 09-10, 2008}, booktitle = {Proceedings of the Second ACM-IEEE international symposium on Empirical software engineering and measurement, ESEM 2008, Kaiserslautern, Germany, Oktober 09-10, 2008}, publisher = {ACM}, address = {New York}, pages = {243 -- 252}, abstract = {One means for institutionalizing project control, systematic quality assurance, and management support on the basis of measurement and explicit models is the establishment of so-called Software Project Control Centers. Nowadays many companies develop their own dashboards for project control or use off-the-shelf tools that provide a predefined functionality. It is not clear how to tailor an existing tool to the specific needs and goals. An engineering-like approach providing the methodological foundation is needed for systematically defining and applying project control mechanisms. "Soft-Pit" is a research project focusing on an improvement-oriented approach for setting up and applying project control mechanisms in a goal-oriented way and evaluating the practical benefits of such a control center. This article describes the results of industrial case studies conducted in the context of the project. Moreover, lessons learned are discussed, related work is described, and future work is presented.}, language = {en} } @inproceedings{SalgerBennickeEngelsetal., author = {Salger, Frank and Bennicke, Marcel and Engels, Gregor and Lewerentz, Claus}, title = {Comprehensive Architecture Evaluation and Management in Large Software Systems}, abstract = {Abstract. The architecture of a software system is both a success and a failure factor. Taking the wrong architectural decisions may break a project, since such errors are often systematic and affect cross-cutting aspects of the system to be built. Moreover, software projects get more and more challenging due to the rising complexity and dynamics of business processes, large team size and distributed development. As the software architecture is the common platform for many project activities, it constitutes a critical success factor. Thus, a comprehensive methodfor evaluating a software architecture and propagating important properties of it downstream to code is needed. At sd\&m, we designed a comprehensive architecture evaluation and management framework in order to satisfy these needs. In this paper, we derive a list of requirements, such a framework should fulfill. We then present the components of our architecture evaluation method and demonstrate, how it fulfills these requirements.}, language = {en} } @inproceedings{BotterweckJanotaSchneeweiss, author = {Botterweck, Goetz and Janota, Mikol{\´a}s and Schneeweiss, Denny}, title = {A design of a configurable feature model configurator}, series = {Proceedings, Third International Workshop on Variability Modelling of Software-intensive Systems, held from January 28 - 30, at the University of Sevilla, Spain}, booktitle = {Proceedings, Third International Workshop on Variability Modelling of Software-intensive Systems, held from January 28 - 30, at the University of Sevilla, Spain}, editor = {Benavides, David}, publisher = {ICB}, address = {Essen}, pages = {165 -- 168}, abstract = {Abstract. Our feature configuration tool S2T2 Configurator integrates (1) a visual interactive representation of the feature model and (2) a formal reasoning engine that calculates consequences of the user's actions and provides formal explanations. The tool's software architecture is designed as a chain of components, whichprovide mappings between visual elements and their corresponding formal representations. Using these mappings, consequences and explanations calculated by thereasoning engine are communicated in the interactive representation.}, language = {en} } @techreport{LewerentzSteinbrueckner, author = {Lewerentz, Claus and Steinbr{\"u}ckner, Frank}, title = {SoftUrbs: Visualizing Software Systems as Urban Structures}, publisher = {BTU, Institut f{\"u}r Informatik}, address = {Cottbus}, pages = {8 Bl.}, abstract = {Abstract. SoftUrbs is a systematic approach to utilize the City metaphor for the visualization and interpretation of large software systems as urban structures. The maincontributions are, firstly, a systematic approach to construct and use these visualizations by adopting thethree-staged cartographic modeling chain and, secondly, the use of force-directed layouts of the city map. The latter provides a framework for flexible and incrementally adaptable layouts, which are necessary to preserve a city's overall morphology throughout the structural evolution of the visualized software system. The distinction between different model stages helps to create uniform and consistent visualizations supporting different usage scenarios. The conceptshave been implemented and were successfully applied in some large scale industry projects.}, language = {en} } @inproceedings{SchubanzPleussPradhanetal., author = {Schubanz, Mathias and Pleuss, Andreas and Pradhan, Ligaj and Botterweck, Goetz and Thurimella, Anil Kumar}, title = {Model-driven Planning and Monitoring of Long-term Software Product Line Evolution}, series = {Proceedings of the Seventh International Workshop on Variability Modelling of Software-intensive Systemsm, Conference VaMoS 2013, Pisa , Italy — January 23 - 25, 2013}, booktitle = {Proceedings of the Seventh International Workshop on Variability Modelling of Software-intensive Systemsm, Conference VaMoS 2013, Pisa , Italy — January 23 - 25, 2013}, editor = {Gnesi, Stefania and Collet, Philippe and Schmid, Klaus}, publisher = {ACM}, address = {New York, NY}, isbn = {978-1-4503-1541-8}, doi = {10.1145/2430502.2430527}, abstract = {In order to increase the level of efficiency and automation, we propose a conceptual model and corresponding tool support to plan and manage the systematic evolution of softwareintensive systems, in particular software product lines (SPL). We support planning on a high abstraction level using decision-making concepts like goals, options, criteria, and rationale. We extend earlier work by broadening the scope in two dimensions: 1) in time, supporting continuous planning over long periods of time and many releases, and 2) in space, supporting traces from high-level decisions down to the implementation. We present a metamodel which allows to represent these concepts, corresponding prototypical tool support, and a first example case using data extracted from an open-source project, Eclipse SWT.}, language = {en} } @inproceedings{SchubanzPleussBotterwecketal., author = {Schubanz, Mathias and Pleuss, Andreas and Botterweck, Goetz and Lewerentz, Claus}, title = {Modeling Rationale over Time to support Product Line Evolution Planning}, series = {Proceedings of the Sixth International Workshop on Variability Modeling of Software-Intensive Systems, Conference VaMoS 2012, Leipzig, Germany — January 25 - 27, 2012}, booktitle = {Proceedings of the Sixth International Workshop on Variability Modeling of Software-Intensive Systems, Conference VaMoS 2012, Leipzig, Germany — January 25 - 27, 2012}, editor = {Eisenecker, Ulrich W. and Apel, Sven and Gnesi, Stefania}, publisher = {ACM}, address = {New York, NY}, isbn = {978-1-4503-1058-1}, doi = {10.1145/2110147.2110169}, pages = {193 -- 199}, abstract = {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.}, language = {en} } @misc{SteinbruecknerLewerentz, author = {Steinbr{\"u}ckner, Frank and Lewerentz, Claus}, title = {Understanding software evolution with software cities}, series = {Information Visualization}, volume = {12}, journal = {Information Visualization}, number = {2}, issn = {1473-8716}, doi = {10.1177/1473871612438785}, pages = {200 -- 216}, abstract = {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.}, language = {en} } @inproceedings{Schubanz, author = {Schubanz, Mathias}, title = {Design Rationale Capture in Software Architecture: What has to be captured?}, series = {WCOP '14 Proceedings of the 19th international doctoral symposium on Components and architecture}, booktitle = {WCOP '14 Proceedings of the 19th international doctoral symposium on Components and architecture}, publisher = {ACM}, address = {New York, USA}, isbn = {978-1-4503-2593-6}, doi = {10.1145/2601328.2601329}, pages = {31 -- 36}, abstract = {More than thirty years of research on the topic of design rationale (DR) have passed. However, as of today there are just some exceptional cases where DR are applied in industrial practise. Researchers analysed them for its nature, its structure, its quality, and for analyses to be performed on them. The results showed that DR have the potential to sustainably contribute to the product life cycle in terms of product design, product re-design, product testing, maintenance, and product quality. Hence, this paper presents a proposal to tackle the lack DR usage in documenting software architectures. We strive to promote the use of DR for designing software architectures. Therefore, as a complement to the numerous approaches to formalise the representation of DR, this paper is proposing to pay more attention on research how to capture rationale. In short, within this paper we introduce the topic of DR, related research and elaborate on the intended research on the topic of DR capture.}, language = {en} } @inproceedings{Schubanz, author = {Schubanz, Mathias}, title = {Towards Enabling Design Rationale Capture by Asking the Right Questions}, series = {Informatik 2014, 44. Jahrestagung der Gesellschaft f{\"u}r Informatik, Big Data - Komplexit{\"a}t meistern, 22. - 26. September 2014 in Stuttgart, Deutschland, Doktorandenprogramm}, booktitle = {Informatik 2014, 44. Jahrestagung der Gesellschaft f{\"u}r Informatik, Big Data - Komplexit{\"a}t meistern, 22. - 26. September 2014 in Stuttgart, Deutschland, Doktorandenprogramm}, editor = {Pl{\"o}dereder, Erhard and Grunske, Lars and Schneider, Eric and Ull, Dominik}, publisher = {Gesellschaft f{\"u}r Informatik}, address = {Bonn}, isbn = {978-3-88579-626-8}, pages = {2257 -- 2268}, abstract = {Over the last thirty years many research has been conducted to capture the "how" and "why" behind design decisions. This information is known as design rationales (DR). Approaches to capture, store, preserve, and use DR have emerged from research activities. However, as of today they only found exceptional application within industrial practice. Rationales have been analysed in respect to its nature, its structure, and its quality. Additionally, some researchers performed analyses on them. They found out that DR have the potential to sustainably contribute to design, re-design, testing, maintenance, and improving product quality over the whole product-life cycle. Within this paper a research proposal is presented striving to tackle the exceptional use of DR in software documentation. We want to promote the capture of DR by paying more attention on the questions "What information has to be captured by rationales?", "How detailed should the captured information be?", and "How should rationale capture be integrated into the development process?". It is the goal to promote the use of DR within the whole software development process. In short, within this paper we introduce the topic of DR, related research and elaborate on the intended research on the topic of DR capture.}, language = {en} } @inproceedings{SchubanzPleussJordanetal., author = {Schubanz, Mathias and Pleuss, Andreas and Jordan, Howell and Botterweck, Goetz}, title = {Guidance for Design Rationale Capture to Support Software Evolution}, series = {6. Workshop "Design for Future'', 28. - 30. April 2014 in Bad Honnef}, booktitle = {6. Workshop "Design for Future'', 28. - 30. April 2014 in Bad Honnef}, publisher = {Gesellschaft f{\"u}r Informatik}, address = {Bonn}, pages = {60 -- 61}, abstract = {Documenting design rationale (DR) helps to preserve knowledge over long time to diminish software erosion and to ease maintenance and refactoring. However, use of DR in practice is still limited. One reason for this is the lack of concrete guidance for capturing DR. This paper provides a first step towards identifying DR questions that can guide DR capturing and discusses required future research.}, language = {en} } @misc{SchubanzLewerentz, author = {Schubanz, Mathias and Lewerentz, Claus}, title = {What Matters to Students - A Rationale Management Case Study in Agile Software Development}, series = {SEUH 2020: Software Engineering im Unterricht der Hochschulen : Tagungsband des 17. Workshops "Software Engineering im Unterricht der Hochschulen" 2020\$dInnsbruck, {\"O}sterreich, 26.-27.02.2020}, journal = {SEUH 2020: Software Engineering im Unterricht der Hochschulen : Tagungsband des 17. Workshops "Software Engineering im Unterricht der Hochschulen" 2020\$dInnsbruck, {\"O}sterreich, 26.-27.02.2020}, editor = {Krusche, Stephan and Wagner, Stefan}, publisher = {RWTH}, address = {Aachen}, pages = {17 -- 26}, abstract = {Documenting design decisions and their rationale (Design Rationale, DR) in software development projects is vital for supporting the comprehension of the product, product quality, and future maintenance. Although an increasing number of research publications address this topic, systematic approaches and supporting DR tools are found very rarely in practice. In software engineering education, DR is usually not well covered in teaching. The lack of suitable decision documentation is mainly an issue in agile software development. In agile approaches, documentation is regarded as less important than working products. To explore possibilities for integrating decision documentation into Scrum processes for educational software development projects, we conducted a series of eight case studies. These were part of software lab courses in three universities, i.e., BTU Cottbus, PUT Poznan, University of Stuttgart, with about 400 participants in 82 project teams. We introduced additional process elements in Scrum and developed a lightweight capture technique to support the decision capture. This paper describes the case study setup and corresponding implementation and, thus, an example approach of managing rationale in Scrum. Additionally, it presents a data analysis of the students' most relevant decisions documented throughout the case studies. We conclude the paper with a discussion on the observations we made during the case study executions and the applicability of the approach in educational software projects.}, language = {en} } @misc{OPUS4-31012, title = {Fundamental Approaches to Software Engineering - 26th International Conference, FASE 2023, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2023, Paris, France, April 22-27, 2023, Proceedings}, editor = {Lambers, Leen and Uchitel, Sebasti{\´a}n}, publisher = {Springer}, address = {Cham, Switzerland}, isbn = {978-3-031-30826-0}, doi = {10.1007/978-3-031-30826-0}, pages = {349}, abstract = {This open access book constitutes the proceedings of the 26th International Conference on Fundamental Approaches to Software Engineering, FASE 2023, which was held during April 22-27, 2023, in Paris, France, as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2023. The 12 regular papers presented in this volume were carefully reviewed and selected from 50 submissions. The proceedings also contain 2 tool papers, 2 NIER papers, and 2 competition papers from the Test-Comp Competition. The papers deal with the foundations on which software engineering is built, including topics like software engineering as an engineering discipline, requirements engineering, software architectures, software quality, model-driven development, software processes, software evolution, AI-based software engineering, and the specification, design, and implementation of particular classes of systems, such as (self-)adaptive, collaborative, AI, embedded, distributed, mobile, pervasive, cyber-physical, or service-oriented applications.}, language = {en} } @misc{JohnKosiolLambersetal., author = {John, Stefan and Kosiol, Jens and Lambers, Leen and Taentzer, Gabriele}, title = {A graph-based framework for model-driven optimization facilitating impact analysis of mutation operator properties}, series = {Software and Systems Modeling}, volume = {22}, journal = {Software and Systems Modeling}, issn = {1619-1374}, doi = {10.1007/s10270-022-01078-x}, pages = {1281 -- 1318}, abstract = {Optimization problems in software engineering typically deal with structures as they occur in the design and maintenance of software systems. In model-driven optimization (MDO), domain-specific models are used to represent these structures while evolutionary algorithms are often used to solve optimization problems. However, designing appropriate models and evolutionary algorithms to represent and evolve structures is not always straightforward. Domain experts often need deep knowledge of how to configure an evolutionary algorithm. This makes the use of model-driven meta-heuristic search difficult and expensive. We present a graph-based framework for MDO that identifies and clarifies core concepts and relies on mutation operators to specify evolutionary change. This framework is intended to help domain experts develop and study evolutionary algorithms based on domain-specific models and operators. In addition, it can help in clarifying the critical factors for conducting reproducible experiments in MDO. Based on the framework, we are able to take a first step toward identifying and studying important properties of evolutionary operators in the context of MDO. As a showcase, we investigate the impact of soundness and completeness at the level of mutation operator sets on the effectiveness and efficiency of evolutionary algorithms.}, language = {en} } @misc{ZoellnerAdrianoWiethegeretal., author = {Z{\"o}llner, Christian and Adriano, Christian M. and Wietheger, Simon and Lambers, Leen and Giese, Holger}, title = {Tool support for the teaching of state-based behavior modeling}, series = {MODELS '22: Proceedings of the 25th International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings}, journal = {MODELS '22: Proceedings of the 25th International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings}, editor = {K{\"u}hn, Thomas and Sousa, Vasco}, publisher = {Association for Computing Machinery}, address = {New York, NY, United States}, isbn = {978-1-4503-9467-3}, doi = {10.1145/3550356.3556501}, pages = {87 -- 94}, abstract = {Modeling tools are commonly adopted in classrooms. However, complex state-based behavioral models still pose a challenge for students to understand and validate, mostly because of the intricate semantics of these models. We investigated this challenge and developed dedicated tool support in the form of a validation framework based on the YAKINDU Statechart Tools. Our validation framework simulates environments that interact with the code generated from statecharts as a means to animate various open-ended scenarios and predefined test cases that challenge the students' models. This enables short and user-friendly feedback cycles, which lowers the barrier for students to learn state-based behavioral models. We designed the validation framework to be extensible and made it available as an open source project together with two example environments and complete teaching materials. We report on our experiences in two undergraduate modeling courses (approx. 100 students each). Our results are promising in the sense that we detected positive effects of tool adoption and a surprising lack thereof, which we discuss w.r.t. lessons learned and future work.}, language = {en} } @misc{SchneiderLambers, author = {Schneider, Sven and Lambers, Leen}, title = {Evaluation diversity for graph conditions}, series = {Journal of Logical and Algebraic Methods in Programming}, volume = {133}, journal = {Journal of Logical and Algebraic Methods in Programming}, issn = {2352-2216}, doi = {10.1016/j.jlamp.2023.100862}, abstract = {Graphs are used as a universal data structure in various domains. Sets of graphs (and likewise graph morphisms) can be specified using, e.g., the graph logic Image 1 of Graph Conditions (GCs). The evaluation of a graph against such a GC results in a Boolean satisfaction judgement on whether the graph is specified by the GC. The graph logic Image 1 is known to be as expressive as first-order logic on graphs. However, since infinitely many graphs exist, there are also infinitely many evaluations for each given GC. To support GC validation, testing, debugging, and repair, a suitable synthesis procedure generating a complete compact overview of how a given GC may be evaluated for possibly varying graphs is called for. In a previous paper, we generated such an overview for a given GC in the form of a complete finite set of diverse evaluations for varying associated graphs formally given by so called Evaluation Trees (ETs). Each of these ETs concretely describes how its associated graph is evaluated against the given GC by recording the executed evaluation steps. Moreover, these generated ETs and the given GC for which they are generated have the same underlying structure easing comprehensibility of the represented evaluation steps. The returned ETs are complete since each possible ET subsumes one of the returned ETs and diverse by not containing superfluous ETs subsuming smaller ETs. We now extend and refine this approach still solving the ET synthesis problem by (a) extending the graph logic GL allowing for the specification of a minimal number of graph patterns to be contained in specified graphs, (b) provide means to scale the size of the generated ETs up to a user-provided bound allowing for the generation of not just minimal ETs, (c) record the order of evaluations steps also for operators where the evaluation but not the operator itself defines such an order, and (d) generate ETs recording combinations of reasons for (non-)satisfaction of GCs where only single reasons were recorded before.}, language = {en} } @misc{Schubanz, author = {Schubanz, Mathias}, title = {Custom-MADE - Leveraging Agile Rationale Management by Employing Domain-Specific Languages}, series = {13th ZEUS Workshop, ZEUS 2021, Bamberg - European Workshop on Services and their Composition, 25-26 February 2021, online}, volume = {2021}, journal = {13th ZEUS Workshop, ZEUS 2021, Bamberg - European Workshop on Services and their Composition, 25-26 February 2021, online}, editor = {Manner, Johannes and Haarmann, Stephan and Kolb, Stefan and Herzberg, Nico and Kopp, Oliver}, issn = {1613-0073}, url = {http://nbn-resolving.de/nbn:de:0074-2839-5}, pages = {34 -- 41}, abstract = {Managing rationale in software development projects can be a cumbersome task with a potentially low return on investment. Especially in the agile context, documentation is therefore very unpopular. Research has not yet properly addressed an agile documentation workflow. In this paper, the author presents an integrated approach to agile rationale management based on a highly-flexible modelling approach using domainspecific languages. It facilitates the complete documentation workflow from capture to reuse, partially automates it and offers various customisation opportunities, making it applicable to agile methods.}, language = {en} } @misc{ThurimellaSchubanzPleussetal., author = {Thurimella, Anil Kumar and Schubanz, Mathias and Pleuss, Andreas and Botterweck, Goetz}, title = {Guidelines for Managing Requirements Rationales}, series = {IEEE Software}, volume = {34}, journal = {IEEE Software}, number = {1}, issn = {0740-7459}, doi = {10.1109/MS.2015.157}, pages = {82 -- 90}, abstract = {Requirements are identified and elaborated on the basis of stakeholders' decisions. The reasoning behind those decisions can be expressed as rationales. Systematic rationale management offers both short-term benefits, such as clearer requirements leading to fewer defects, and long-term benefits, such as simplified requirements evolution. However, little guidance exists for managing requirements rationales. This article presents guidelines to pragmatically capture, trace, maintain, and reuse such rationales. A list of questions augments the guidelines, improving their usability.}, language = {en} } @inproceedings{CawleyNestorPreussneretal., author = {Cawley, Ciar{\´a}n and Nestor, Daren and Preußner, Andr{\´e} and Botterweck, Goetz and Thiel, Steffen}, title = {Interactive Visualisation to Support Product Configuration in Software Product Lines}, abstract = {Abstract. Software Product Line engineering allows companies to realise significant improvements in time-to-market, cost, productivity, and system quality. One major difficulty with software product lines is that within industry there may exist thousands of variation points in a single product line. This scale of variability can become extremely complex to manage resulting in a product configuration process that bears significant costs. This paper presents a feature configuration meta-model and introduces a prototype tool that employs visualisation and interaction techniques to provide feature configuration functionality.}, language = {en} } @article{BennickeHofmannLewerentzetal., author = {Bennicke, Marcel and Hofmann, Alexander and Lewerentz, Claus and Wichert, Karl-Heinz}, title = {Software Controlling}, abstract = {Abstract. Die Entwicklung von großen Softwaresystemen erfordert ein effektives und effizientes Projektmanagement. Insbesondere muss im Hinblick auf die Softwarequalit{\"a}t in die Entwicklungsprozesse ein zielgerichtetes Risikomanagement integriert werden. Der bisher meist verfolgte "klassische" Ansatz des Projektcontrollings fokussiert vielfach nur auf die Erreichung von externen Qualit{\"a}tseigenschaften des Endprodukts (wie der Erf{\"u}llung funktionaler Anforderungen, die vom Anwender wahrgenommen werden) und die Einhaltung von Zeit- und Budgetvorgaben. Die Erfahrung aus vielen lang laufenden Projekten zeigt, dass im Hinblick auf nachhaltige Entwicklung eine feink{\"o}rnigere und ganzheitlichere Betrachtung der Qualit{\"a}t von Softwaredokumenten und Entwicklungszwischenprodukten notwendig ist, um qualit{\"a}tsbezogene Projektrisiken fr{\"u}hzeitig zu erkennen und geeignete Steuerungsmaßnahmen im Entwicklungsprozess ergreifen zu k{\"o}nnen.Bei Capgemini sd\&m (M{\"u}nchen) wird deshalb gerade unter dem Begriff Software Controlling ein B{\"u}ndel von technischen und organisatorischen Maßnahmen zum ganzheitlichen qualit{\"a}tsbezogenen Risikomanagement in Softwareprojekten eingef{\"u}hrt. Wesentliche Komponenten sind ein Qualit{\"a}tsmodell auf der Grundlage eines aus bisherigen Projekterfahrungen gewonnenen Kennzahlensystems, das interne Produkteigenschaften mit Aufwands-, Test- und Fehlerdaten verkn{\"u}pft, ein in die Entwicklungsumgebung integrierter Projektleitstand und spezifische Prozesselemente zur Qualit{\"a}ts- und Risikobewertung auf der Grundlage der Kennzahlen.}, language = {de} } @inproceedings{BotterweckSchneeweissPleuss, author = {Botterweck, Goetz and Schneeweiss, Denny and Pleuss, Andreas}, title = {Interactive Techniques to Support the Configuration of Complex Feature Models}, abstract = {Whenever a software engineer derives a product from a prod-uct line, he has to resolve variability by making con_guration decisions.This con_guration process can become rather complex because of depen-dencies within the variability model and knock-on e_ects and dependen-cies in other related artefacts. Because of the limited cognitive capacity ofthe human engineer, this complexity limits the ability of handling prod-uct lines with large con_guration spaces. To address this problem wefocus on techniques that support the interactive con_guration of largerfeature models, including (1) visual interaction with a formal reason-ing engine, (2) visual representation of multiple interrelated hierarchies,(3) indicators for con_guration progress and (4) _ltering of visible nodes.The concepts are demonstrated within S2T2 Con_gurator, an interactivefeature con_guration tool. The techniques are discussed and evaluatedwith feature models, however, we believe they can be generalised to othermodels that describe con_guration choices, e.g., variability models anddecision models.}, language = {en} } @inproceedings{SteinbruecknerLewerentz, author = {Steinbr{\"u}ckner, Frank and Lewerentz, Claus}, title = {Representing Development History in Software Cities}, abstract = {Abstract. In this paper we describe a systematic approach to utilize the citymetaphor for the visualization of large software systems asevolving software cities. The main contribution is a new layoutapproach which explicitly takes the development history ofsoftware systems into account and makes history directly visiblein the layouts. These layouts incrementally evolve in a verysmooth and stable way during the development of the representedsoftware system. They are used as a visualization platform forintegrating a large variety of product and process data and thuscreate a coherent set of specialized visualizations. To illustratethis we present some example maps capturing specificdevelopment history aspects.}, language = {en} } @misc{Noack, author = {Noack, Andreas}, title = {Modularity clustering is force-directed layout}, series = {Physical Review : E}, volume = {79}, journal = {Physical Review : E}, issn = {1550-2376}, pages = {026102}, abstract = {Two natural and widely used representations for the community structure of networks are clusterings,which partition the vertex set into disjoint subsets, and layouts, which assign the vertices to positions in a metric space. This paper unifies prominent characterizations of layout quality and clustering quality, by showing that energy models of pairwise attraction and repulsion subsume Newman and Girvan's modularity measure. Layouts with optimal energy are relaxations of, and are thus consistent with, clusterings with optimal modularity, which isof practical relevance because both representations are complementary and often used together.}, language = {en} } @incollection{LewerentzNoack, author = {Lewerentz, Claus and Noack, Andreas}, title = {CrocoCosmos - 3D Visualization of Large Object-Oriented Programs}, series = {Graph drawing software}, booktitle = {Graph drawing software}, editor = {J{\"u}nger, Michael and Mutzel, Petra}, publisher = {Springer}, address = {Berlin [u.a.]}, isbn = {3-540-00881-0}, pages = {279 -- 297}, language = {en} } @incollection{SimonLewerentzBischofberger, author = {Simon, Frank and Lewerentz, Claus and Bischofberger, Walter}, title = {Software Quality Assessments for System, Architecture, Design and Code}, series = {Software quality and software testing in Internet times}, booktitle = {Software quality and software testing in Internet times}, editor = {Meyerhoff, Dirk}, publisher = {Springer Verlag}, address = {Berlin [u.a.]}, isbn = {3-540-42632-9}, pages = {230 -- 249}, abstract = {In this chapter we introduce the concept of structural quality assessments for industrial software systems (especially object-oriented code). Such a quality assessment can be used both to determine the current state with respect to quality and to plan further actions, i.e. reengineering steps, process adjustments or further education of engineers in an ongoing project. The assessment itself is based on an innovative software analysis workbench that integrates multiple interdependent views on a software system into a coherent analysis environment. These views provide information on four aspects: user-defined metrics and query results with high-level information about the system, detailed cross-reference information, browsing views and diagrams to support efficient understanding of the structure. The workbench applies powerful static analysis techniques on the source code under consideration and uses it to generate, access, visualise and browse the different views and analysis results. For practical assessments the workbench is used in a well-defined process such that a first quality assessment of large systems can be done within a very short period of time. The quality assessment described here has been applied in various projects. In order to illustrate the results that such an assessment gives for project management, developers or managers of an outsourced project this paper ends with a short description of a typical example project. This is one of the projects supported jointly by SQS and the Software Systems Engineering Research Group Cottbus}, language = {en} } @inproceedings{BeyerLewerentz, author = {Beyer, Dirk and Lewerentz, Claus}, title = {CrocoPat: Efficient Pattern Analysis in Object-Oriented Programs}, language = {en} } @inproceedings{BeyerNoackLewerentz, author = {Beyer, Dirk and Noack, Andreas and Lewerentz, Claus}, title = {Simple and Efficient Relational Querying of Software Structures}, series = {Proceedings, 10th Working Conference on Reverse Engineering, WCRE 2003, Victoria, B.C., Canada, 13 - 16 November 2003}, booktitle = {Proceedings, 10th Working Conference on Reverse Engineering, WCRE 2003, Victoria, B.C., Canada, 13 - 16 November 2003}, publisher = {IEEE Computer Society}, address = {Los Alamitos, Calif. [u.a.]}, isbn = {0-7695-2027-8}, pages = {216 -- 225}, abstract = {Abstract. Many analyses of software systems can be formalized as relational queries, for example the detection of design patterns, of patterns of problematic design, of code clones, of dead code, and of differences between the as-built and the as-designed architecture. This paper describes the concepts of CrocoPat, a tool for querying and manipulating relations. CrocoPat is easy to use, because of its simple query and manipulation language based on predicate calculus, and its simple file format for relations. CrocoPat is efficient, 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. CrocoPat is general, because it manipulates not only graphs (i.e. binary relations), but n-ary relations.}, language = {en} } @inproceedings{LewerentzSimonSteinbrueckner, author = {Lewerentz, Claus and Simon, Frank and Steinbr{\"u}ckner, Frank}, title = {CrocoCosmos}, language = {en} } @misc{BalzerNoackDeussenetal., author = {Balzer, Michael and Noack, Andreas and Deussen, Oliver and Lewerentz, Claus}, title = {Software Landscapes: Visualizing the Structure of Large Software Systems}, series = {VisSym 2004, Symposium on Visualization, Konstanz, Germany, May 19- 21, 2004}, journal = {VisSym 2004, Symposium on Visualization, Konstanz, Germany, May 19- 21, 2004}, publisher = {Eurographics Association}, address = {Aire-la-Ville}, pages = {261 -- 266}, language = {en} } @article{BeyerNoackLewerentz, author = {Beyer, Dirk and Noack, Andreas and Lewerentz, Claus}, title = {Efficient Relational Calculation for Software Analysis}, language = {en} } @misc{OPUS4-4929, title = {Graph Transformations and Model-Driven Engineering}, editor = {Engels, Gregor and Lewerentz, Claus and Sch{\"a}fer, Wilhelm and Sch{\"u}rr, Andy and Westfechtel, Bernhard}, publisher = {Springer}, address = {Berlin [u.a.]}, isbn = {978-3-642-17321-9}, pages = {XI, 768}, language = {en} } @phdthesis{Noack, author = {Noack, Andreas}, title = {Unified quality measures for clusterings, layouts, and orderings of graphs, and their application as software design criteria}, url = {http://nbn-resolving.de/urn:nbn:de:kobv:co1-opus-4046}, language = {en} } @techreport{Noack, author = {Noack, Andreas}, title = {Energy Models for Drawing Clustered Small-World Graphs}, publisher = {Inst. of Computer Science}, address = {Cottbus}, pages = {33}, abstract = {We introduce energy models for drawing clustered small-world graphs. Clustered means that there exist (probably unknown) sets of nodes with many edges between nodes of the same set and few edges to nodes outside the set. Small-world means that the graph-theoretic distances between nodes are small relative to the number of nodes. Previous force or energy models do not produce satisfactory results for such graphs. In drawings that have minimum energy with respect to our new energy models, different clusters are clearly separated and have interpretable distances.We formally characterize the minimum energy drawings of our new energy mod\%ADels and of a class of energy models that contains among others the well-known Fruchterman-Reingold model. These characterizations show 1) in what sense the minimum energy drawings of these energy models fulfill requirements like small, uniform edge lengths, well-distributed nodes, or separated clusters, and 2) what properties of the drawn graph can be inferred from the drawings}, language = {en} } @techreport{BeyerNoack, author = {Beyer, Dirk and Noack, Andreas}, title = {A Comparative Study of Decision Diagrams for Real-Time Verification}, publisher = {BTU, Institut f{\"u}r Informatik}, address = {Cottbus}, pages = {13}, abstract = {In this paper we analyze the efficiency of binary decision diagrams (BDDs) and clock difference diagrams (CDDs) in the verification of timed automata. Therefore we present empirical and analytical complexity results for three communication protocols. The contributions of the analyses are: Firstly, they explain the empirical results. Secondly, they show that BDDs and CDDs of polynomial size exist for the reachability sets of the three protocols. Thirdly, they show that CDD-based tools, which currently use at least exponential space for two of the protocols, will only find polynomial-sized CDDs if they use better variable orders, as the BDD-based tool Rabbit does. Finally, they give insight into the dependency of the BDD and CDD size on properties of the model, in particular the number of automata and the magnitude of the clock values.}, language = {en} } @techreport{Noack, author = {Noack, Andreas}, title = {Visual Clustering of Graphs with Nonuniform Degrees}, publisher = {Inst. of Computer Science}, address = {Cottbus}, pages = {16 Bl.}, language = {en} } @techreport{BeyerLewerentz, author = {Beyer, Dirk and Lewerentz, Claus}, title = {CrocoPat: A Tool for Efficient Pattern Recognition in Large Object-Oriented Programs}, publisher = {Inst. of Computer Science}, address = {Cottbus}, pages = {10}, language = {en} } @techreport{Beyer, author = {Beyer, Dirk}, title = {Reachability Analysis and Refinement Checking for BDD-based Model Checking of Timed Automata}, publisher = {Inst. of Computer Science}, address = {Cottbus}, pages = {12}, language = {en} } @techreport{Beyer, author = {Beyer, Dirk}, title = {Rabbit Verification of Real-Time Systems}, publisher = {Inst. of Computer Science}, address = {Cottbus}, pages = {4 Bl.}, language = {en} } @inproceedings{NoackRotta, author = {Noack, Andreas and Rotta, Randolf}, title = {Multi-level Algorithms for Modularity Clustering}, abstract = {Modularity is a widely used quality measure for graph clusterings. Its exact maximization is prohibitively expensive for large graphs. Popular heuristics progressively merge clusters starting from singletons (coarsening), and optionally improve the resulting clustering by moving vertices between clusters (refinement). This paper experimentally compares existing and new heuristics of this type with respect to their effectiveness (achieved modularity) and runtime. For coarsening, it turns out that the most widely used criterion for merging clusters (modularity increase) is outperformed by other simple criteria, and that a recent multi-step algorithm is no improvement over simple single-step coarsening for these criteria. For refinement, a new multi-level algorithm produces significantly better clusterings than conventional single-level algorithms. A comparison with published benchmark results and algorithm implementations shows that combinations of coarsening and multi-level refinement are competitive with the best algorithms in the literature.}, language = {en} } @phdthesis{Sakizloglou, author = {Sakizloglou, Lucas}, title = {Evaluating temporal queries over history-aware architectural runtime models}, publisher = {Universit{\"a}t}, address = {Potsdam}, doi = {10.25932/publishup-60439}, url = {http://nbn-resolving.de/urn:nbn:de:kobv:517-opus4-604396}, pages = {v, 168}, abstract = {In model-driven engineering, the adaptation of large software systems with dynamic structure is enabled by architectural runtime models. Such a model represents an abstract state of the system as a graph of interacting components. Every relevant change in the system is mirrored in the model and triggers an evaluation of model queries, which search the model for structural patterns that should be adapted. This thesis focuses on a type of runtime models where the expressiveness of the model and model queries is extended to capture past changes and their timing. These history-aware models and temporal queries enable more informed decision-making during adaptation, as they support the formulation of requirements on the evolution of the pattern that should be adapted. However, evaluating temporal queries during adaptation poses significant challenges. First, it implies the capability to specify and evaluate requirements on the structure, as well as the ordering and timing in which structural changes occur. Then, query answers have to reflect that the history-aware model represents the architecture of a system whose execution may be ongoing, and thus answers may depend on future changes. Finally, query evaluation needs to be adequately fast and memory-efficient despite the increasing size of the history---especially for models that are altered by numerous, rapid changes. The thesis presents a query language and a querying approach for the specification and evaluation of temporal queries. These contributions aim to cope with the challenges of evaluating temporal queries at runtime, a prerequisite for history-aware architectural monitoring and adaptation which has not been systematically treated by prior model-based solutions. The distinguishing features of our contributions are: the specification of queries based on a temporal logic which encodes structural patterns as graphs; the provision of formally precise query answers which account for timing constraints and ongoing executions; the incremental evaluation which avoids the re-computation of query answers after each change; and the option to discard history that is no longer relevant to queries. The query evaluation searches the model for occurrences of a pattern whose evolution satisfies a temporal logic formula. Therefore, besides model-driven engineering, another related research community is runtime verification. The approach differs from prior logic-based runtime verification solutions by supporting the representation and querying of structure via graphs and graph queries, respectively, which is more efficient for queries with complex patterns. We present a prototypical implementation of the approach and measure its speed and memory consumption in monitoring and adaptation scenarios from two application domains, with executions of an increasing size. We assess scalability by a comparison to the state-of-the-art from both related research communities. The implementation yields promising results, which pave the way for sophisticated history-aware self-adaptation solutions and indicate that the approach constitutes a highly effective technique for runtime monitoring on an architectural level.…}, language = {en} }