Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data.

Florian Deißenböck

dblp:d/FlorianDeissenboeck · also Florian Deissenboeck · DBLP profile ↗
← Back
18ranked-venue papers
7as first author
0since 2021 · last 2015
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 18 · 7 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
7 papers
Software maintenance and evolution · 56% Requirements engineering and software design · 24% Program analysis · 11%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
Embedded and real-time systems · 100%

Topics — the 9 heaviest of 10, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Software maintenance and evolution
code clone detection
0.552010
Can clone detection support quality assessments of requirements specifications? · ICSE (2) 2010
Code clone detection in practice · ICSE (2) 2010
Do code clones matter? · ICSE 2009
Requirements engineering and software design › software architecture › software architecture evolution
architectural decay
0.112010
Flexible architecture conformance assessment with ConQAT · ICSE (2) 2010
Program analysis › code quality analysis
redundancy detection
0.112010
Can clone detection support quality assessments of requirements specifications? · ICSE (2) 2010
Requirements engineering and software design
software architecture
0.112010
Flexible architecture conformance assessment with ConQAT · ICSE (2) 2010
Software maintenance and evolution › code clone detection
model clone detection
0.112008
Clone detection in automotive model-based development · ICSE 2008
Compilers and program optimization
code duplication
0.012010
Code clone detection in practice · ICSE (2) 2010
Empirical software engineering
mining software repositories
0.012009
Do code clones matter? · ICSE 2009
Requirements engineering and software design
model-driven engineering
0.012008
Clone detection in automotive model-based development · ICSE 2008
Embedded and real-time systems
model-based design
0.012008
Clone detection in automotive model-based development · ICSE 2008

Methods — techniques the papers use, named apart from their topics

graph theory · 0.2clone detection · 0.1
YearPublicationVenuePosition
2015 Concise and consistent naming: ten years later
abstract
Summary form only given. Approximately 70% of the source code of a software system consists of identifiers. Hence, the names chosen as identifiers are of paramount importance for the readability of computer programs and therewith their comprehensibility. However, virtually every programming language allows programmers to use almost arbitrary sequences of characters as identifiers which far too often results in more or less meaningless or even misleading naming. Coding style guides address this problem but are usually limited to general and hard to enforce rules like "identifiers should be self-describing". At IWPC 2005 we proposed a formal model, based on bijective mappings between concepts and names, provides a solid foundation for the definition of precise rules for concise and consistent naming. The enforcement of these rules was supported by a tool that incrementally builds and maintains a complete identifier dictionary while the system is being developed. The identifier dictionary explained the language used in the software system, aids in consistent naming, and improves productivity of programmers by proposing suitable names depending on the current context. In this talk we analyze the first ten year of the model we proposed at IWPC 2005 by analyzing its impact on the program comprehension community as well as its applicability in practice.
Florian Deißenböck, Markus Pizka
ICPC1
2015 How do Java methods grow?
abstract
Overly long methods hamper the maintainability of software - they are hard to understand and to change, but also difficult to test, reuse, and profile. While technically there are many opportunities to refactor long methods, little is known about their origin and their evolution. It is unclear how much effort should be spent to refactor them and when this effort is spent best. To obtain a maintenance strategy, we need a better understanding of how software systems and their methods evolve. This paper presents an empirical case study on method growth in Java with nine open source and one industry system. We show that most methods do not increase their length significantly; in fact, about half of them remain unchanged after the initial commit. Instead, software systems grow by adding new methods rather than by modifying existing methods.
Daniela Steidl, Florian Deißenböck
SCAM2
2014 Continuous Software Quality Control in Practice
abstract
Many companies struggle with unexpectedly high maintenance costs for their software development which are often caused by insufficient code quality. Although companies often use static analyses tools, they do not derive consequences from the metric results and, hence, the code quality does not actually improve. We provide an experience report of the quality consulting company CQSE, and show how code quality can be improved in practice: we revise our former expectations on quality control from [1] and propose an enhanced continuous quality control process which requires the combination of metrics, manual action, and a close cooperation between quality engineers, developers, and managers. We show the applicability of our approach with a case study on 41 systems of Munich RE and demonstrate its impact.
Daniela Steidl, Florian Deißenböck, Martin Poehlmann, Robert Heinke, Barbel Uhink-Mergenthaler
ICSME2
2012 A structured approach to assess third-party library usage
abstract
Modern software systems build on a significant number of external libraries to deliver feature-rich and high-quality software in a cost-efficient and timely manner. As a consequence, these systems contain a considerable amount of third-party code. External libraries thus have a significant impact on maintenance activities in the project. However, most approaches that assess the maintainability of software systems largely neglect this important factor. Hence, risks may remain unidentified, threatening the ability to effectively evolve the system in the future. We propose a structured approach to assess the third-party library usage in software projects and identify potential problems. Industrial experience strongly influences our approach, which we designed in a lightweight way to enable easy adoption in practice. We present an industrial case study showing the applicability of the approach to a real-world software system.
Veronika Bauer, Lars Heinemann, Florian Deißenböck
ICSM3
2011 The quamoco tool chain for quality modeling and assessment
abstract
Continuous quality assessment is crucial for the long-term success of evolving software. On the one hand, code analysis tools automatically supply quality indicators, but do not provide a complete overview of software quality. On the other hand, quality models define abstract characteristics that influence quality, but are not operationalized. Currently, no tool chain exists that integrates code analysis tools with quality models. To alleviate this, the Quamoco project provides a tool chain to both define and assess software quality. The tool chain consists of a quality model editor and an integration with the quality assessment toolkit ConQAT. Using the editor, we can define quality models ranging from abstract characteristics down to operationalized measures. From the quality model, a ConQAT configuration can be generated that can be used to automatically assess the quality of a software system.
Florian Deißenböck, Lars Heinemann, Markus Herrmannsdoerfer, Klaus Lochmann, Stefan Wagner 0001
ICSE1
2011 On the Extent and Nature of Software Reuse in Open Source Java Projects
Lars Heinemann, Florian Deißenböck, Mario Gleirscher, Benjamin Hummel, Maximilian Irlbeck
ICSR2
2011 Feature Profiling for Evolving Systems
abstract
Traditionally, most work in program comprehension focuses on understanding the inner workings of software systems. However, for many software maintenance tasks, not only a sound understanding of a system's implementation but also comprehensive and accurate information about the way users actually use a system's features is of crucial importance. Such information e.g. helps to determine the impact that a specific change has on the users of a system. In practice, however, this information is often not available. We propose an approach called feature profiling as a means to efficiently gather usage information to support maintenance tasks that affect the user interface of a software system. Furthermore, we present tool support for feature profiling and report on a case study in the insurance domain. In this study, we profiled the features of an application that is used by 150 users in 10 countries over a period of five months.
Elmar Jürgens, Martin Feilkas, Markus Herrmannsdoerfer, Florian Deißenböck, Rudolf Vaas, Karl-Heinz Prommer
ICPC4
2010 Flexible architecture conformance assessment with ConQAT
abstract
The architecture of software systems is known to decay if no counter-measures are taken. In order to prevent this architectural erosion, the conformance of the actual system architecture to its intended architecture needs to be assessed and controlled; ideally in a continuous manner. To support this, we present the architecture conformance assessment capabilities of our quality analysis framework ConQAT. In contrast to other tools, ConQAT is not limited to the assessment of use-dependencies between software components. Its generic architectural model allows the assessment of various types of dependencies found between different kinds of artifacts. It thereby provides the necessary tool-support for flexible architecture conformance assessment in diverse contexts.
Florian Deißenböck, Lars Heinemann, Benjamin Hummel, Elmar Jürgens
ICSE (2)1
2010 Code clone detection in practice
abstract
Due to the negative impact of code cloning on software maintenance efforts as well as on program correctness [4--6], the duplication of code is generally viewed as problematic. However, the techniques and tools developed by the research community in the last decade have not found broad acceptance in software engineering practice yet. This tutorial contributes to a more widespread application of existing approaches by illustrating where cloning comes from, what its consequences are, and how it can be detected.
Florian Deißenböck, Benjamin Hummel, Elmar Jürgens
ICSE (2)1
2010 Can clone detection support quality assessments of requirements specifications?
abstract
Due to their pivotal role in software engineering, considerable effort is spent on the quality assurance of software requirements specifications. As they are mainly described in natural language, relatively few means of automated quality assessment exist. However, we found that clone detection, a technique widely applied to source code, is promising to assess one important quality aspect in an automated way, namely redundancy that stems from copy&paste operations. This paper describes a large-scale case study that applied clone detection to 28 requirements specifications with a total of 8,667 pages. We report on the amount of redundancy found in real-world specifications, discuss its nature as well as its consequences and evaluate in how far existing code clone detection approaches can be applied to assess the quality of requirements specifications in practice.
Elmar Jürgens, Florian Deißenböck, Martin Feilkas, Benjamin Hummel, Bernhard Schätz, Stefan Wagner 0001, Christoph Domann, Jonathan Streit
ICSE (2)2
2009 CloneDetective - A workbench for clone detection research
abstract
The area of clone detection has considerably evolved over the last decade, leading to approaches with better results, but at the same time using more elaborate algorithms and tool chains. In our opinion a level has been reached, where the initial investment required to setup a clone detection tool chain and the code infrastructure required for experimenting with new heuristics and algorithms seriously hampers the exploration of novel solutions or specific case studies. As a solution, this paper presents CloneDetective, an open source framework and tool chain for clone detection, which is especially geared towards configurability and extendability and thus supports the preparation and conduction of clone detection research.
Elmar Jürgens, Florian Deißenböck, Benjamin Hummel
ICSE2
2009 Do code clones matter?
abstract
Code cloning is not only assumed to inflate maintenance costs but also considered defect-prone as inconsistent changes to code duplicates can lead to unexpected behavior. Consequently, the identification of duplicated code, clone detection, has been a very active area of research in recent years. Up to now, however, no substantial investigation of the consequences of code cloning on program correctness has been carried out. To remedy this shortcoming, this paper presents the results of a large-scale case study that was undertaken to find out if inconsistent changes to cloned code can indicate faults. For the analyzed commercial and open source systems we not only found that inconsistent changes to clones are very frequent but also identified a significant number of faults induced by such changes. The clone detection tool used in the case study implements a novel algorithm for the detection of inconsistent clones. It is available as open source to enable other researchers to use it as basis for further investigations.
Elmar Jürgens, Florian Deißenböck, Benjamin Hummel, Stefan Wagner 0001
ICSE2
2008 Clone detection in automotive model-based development
abstract
Model-based development is becoming an increasingly common development methodology. In important domains like embedded systems already major parts of the code are generated from models specified with domain-specific modelling languages. Hence, such models are nowadays an integral part of the software development and maintenance process and therefore have a major economic and strategic value for the software-developing organisations. Nevertheless almost no work has been done on a quality defect that is known to seriously hamper maintenance productivity in classic code-based development: Cloning. This paper presents an approach for the automatic detection of clones in large models as they are used in model-based development of control systems. The approach is based on graph theory and hence can be applied to most graphical data-flow languages. An industrial case study demonstrates the applicability of our approach for the detection of clones in Matlab/Simulink models that are widely used in model-based development of embedded systems in the automotive domain.
Florian Deißenböck, Benjamin Hummel, Elmar Jürgens, Bernhard Schätz, Stefan Wagner 0001, Jean-Francois Girard, Stefan Teuchert
ICSE1
2008 An Evaluation of Two Bug Pattern Tools for Java
abstract
Automated static analysis is a promising technique to detect defects in software. However, although considerable effort has been spent for developing sophisticated detection possibilities, the effectiveness and efficiency has not been treated in equal detail. This paper presents the results of two industrial case studies in which two tools based on bug patterns for Java are applied and evaluated. First, the economic implications of the tools are analysed. It is estimated that only 3-4 potential field defects need to be detected for the tools to be cost-efficient. Second, the capabilities of detecting field defects are investigated. No field defects have been found that could have been detected by the tools. Third, the identification of fault-prone classes based on the results of such tools is investigated and found to be possible. Finally, methodological consequences are derived from the results and experiences in order to improve the use of bug pattern tools in practice.
Stefan Wagner 0001, Florian Deißenböck, Michael Aichner, Johann Wimmer, Markus Schwalb
ICST2
2007 An Activity-Based Quality Model for Maintainability
abstract
Maintainability is a key quality attribute of successful software systems. However, its management in practice is still problematic. Currently, there is no comprehensive basis for assessing and improving the maintainability of software systems. Quality models have been proposed to solve this problem. Nevertheless, existing approaches do not explicitly take into account the maintenance activities, that largely determine the software maintenance effort. This paper proposes a 2-dimensional model of maintainability that explicitly associates system properties with the activities carried out during maintenance. The separation of activities and properties facilitates the identification of sound quality criteria and allows to reason about their interdependencies. This transforms the quality model into a structured and comprehensive quality knowledge base that is usable in industrial project environments. For example, review guidelines can be generated from it. The model is based on an explicit quality metamodel that supports its systematic construction and fosters preciseness as well as completeness. An industrial case study demonstrates the applicability of the model for the evaluation of the maintainability of Matlab Simulink models that are frequently used in model-based development of embedded systems.
Florian Deißenböck, Stefan Wagner 0001, Markus Pizka, Stefan Teuchert, Jean-Francois Girard
ICSM1
2007 From Reality to Programs and (Not Quite) Back Again
abstract
Making explicit the mappings between real-world concepts and program elements that implement them is an essential step in understanding, using or evaluating the public interface of programs, libraries and other collections of classes that model core domain concepts. Unfortunately, due to the big abstraction gap between the modeled domain and today's programming languages, the mapping is most of the times ambiguous as concepts and relations from the real world are distorted and diffused in the code. In this paper we present a comprehensive formal framework for describing the many-to-many mappings between domain concepts and the program elements, real-world relations and program relations and the real-world concept names and program identifiers. This framework allows us to describe and discuss typical classes of diffusion of the domain knowledge in code. Based on our formal framework we describe an algorithm to recover the mappings between entities from an ontology and program elements. We illustrate the framework by using examples from the Java standard library.
Daniel Ratiu, Florian Deißenböck
ICPC2
2006 Programs are Knowledge Bases
abstract
Gaining an overview of the concepts represented in large programs is very demanding as multiple dimensions of knowledge appear at different abstraction levels throughout the source code. To reduce the overall comprehension effort it is therefore desirable to make the knowledge once gained explicit and shareable. We tackle this problem by establishing a mapping between source code and conceptualizations shared as ontologies. To achieve this we regard programs themselves as knowledge bases built on the programs' identifiers and their relations implied by the programming language. Making these mappings explicit allows sharing knowledge about the concepts represented in programs. We exemplify our approach on Java programming language and the WordNet ontology and we report on our experience with analyzing an open source system
Daniel Ratiu, Florian Deißenböck
ICPC2
2006 Concise and consistent naming
Florian Deißenböck, Markus Pizka
Softw. Qual. J.1