Mitarbeiter

Dr. Elmar Juergens


… ist Mitgründer der CQSE GmbH und Berater für Software Qualität. Er studierte Informatik an der TU München und der Universidad Carlos III de Madrid und promovierte in Software Engineering.

  • +49 space::179 space::675 space::3863
  • juergens@invalid::cqse.eu
  • @ElmarJuergens

Blog Posts


Since this post accompanies a talk in German, it is written in German, too.

Koordinaten

Read more...


Since this post accompanies a talk in German, it is written in German, too.

Koordinaten

  • Sprecher: Elmar Jürgens, Dennis Pagano
  • Konferenz: QS-Tag
  • Datum: Donnerstag, 19. Oktober 2017, 11:40 - 12:25 Uhr
  • Ort: Sheraton Frankfurt Airport Hotel and Conference Center

Read more...


Since this post accompanies a talk in German, it is written in German, too.

Koordinaten

Read more...


Since this post accompanies a talk in German, it is written in German, too.

Koordinaten

  • Sprecher: Elmar Jürgens
  • Konferenz: SE Live
  • Datum: Donnerstag, 06. Juli 2017, 08:45 - 09:30 Uhr
  • Ort: Kultur- & Kongresszentrum Liederhalle Stuttgart

.

Read more...


Since this post accompanies a talk in German, it is written in German, too.

Koordinaten

Read more...


Since this post accompanies a talk in German, it is written in German, too.

Koordinaten

  • Sprecher: Elmar Jürgens
  • Konferenz: SE Live
  • Datum: Freitag, 12. Mai 2017, 09:30 - 10:00 Uhr
  • Ort: Hotel am Badersee.

Read more...


Since this post accompanies a talk in German, it is written in German, too.

Koordinaten

Read more...


Since this post accompanies a talk in German, it is written in German, too.

Koordinaten

Read more...


Since this post accompanies a talk in German, it is written in German, too.

Koordinaten

Read more...


Coordinates

  • Speaker: Elmar Jürgens
  • Venue: GOTO Berlin
  • Date: Tuesday, 15th of November 2016, 15:00 - 15:50 Uhr
  • Location: bcc, Berlin Alexanderplatz

Read more...


Since this post accompanies a talk in German, it is written in German, too.

Koordinaten

  • Sprecher: Elmar Jürgens
  • Konferenz: QS-Tag 2016
  • Datum: Donnerstag, 03. November 2016, 11:35 - 12:20 Uhr
  • Ort: Sheraton Carlton Nürnberg

Read more...


Since this post accompanies a talk in German, it is written in German, too.

Koordinaten

Read more...


Since this post accompanies a talk in German, it is written in German, too.

Koordinaten

Read more...


Since this post accompanies a talk in German, it is written in German, too.

Koordinaten

  • Sprecher: Uwe Proft und Elmar Jürgens
  • Konferenz: SWQD 2016
  • Datum: Dienstag, 19. Januar 2016, 13:45 - 14:30 Uhr
  • Ort: Austria Trend Hotel Savoyen, Wien, Track B

Read more...


Teams, not individuals, build most software systems. The organization of these teams thus strongly impacts the software they build.

This is old news. For example, Conway’s law illustrates that the architectural decomposition of a system into components happens along communication structures [1]. Naggapan’s study on bug data from Windows Vista shows that organizational structure is a significant predictor for fault proneness [2].

These empirical results resonate with my own experience. Often, the problems our static code analyses reveal in a code base are symptoms of underlying organizational problems. The larger the organizational problems, the bigger their impact on code quality.

Unfortunately, on this level of abstraction, this insight is pretty useless, since it is too abstract to be operationalized in a project context. To make it applicable, I want to boil it down to a single aspect in this article: reuse. From my experience, it is one of the code characteristics that reveals most about collaboration between teams.

Read more...


Since this post accompanies a talk in German, it is written in German, too.

Koordinaten

  • Sprecher: Elmar Jürgens
  • Konferenz: W-JAX 2015
  • Datum: Donnerstag, 5. November 2015, 16:30 - 17:15 Uhr
  • Ort: Sheraton Carlton Nürnberg, Raum Burggrafensaal

Read more...


Since this post accompanies a talk in German, it is written in German, too.

Koordinaten

  • Sprecher: Elmar Jürgens
  • Konferenz: W-JAX 2015
  • Datum: Mittwoch, 4. November 2015, 10:45 - 11:45 Uhr
  • Ort: The Westin Grand München, Raum Barcelona

Read more...


Since this post accompanies a talk in German, it is written in German, too.

Koordinaten

  • Sprecher: Elmar Jürgens
  • Konferenz: W-JAX 2015
  • Datum: Dienstag, 3. November 2015, 18:00 - 19:00 Uhr
  • Ort: The Westin Grand München, Raum Garmisch

Read more...


We have had countless discussions about code clones with the teams responsible for their maintenance. These teams generally accept that some of the clones in their software are the product of copy & paste. In many cases this is obvious, since the clones share some quirks that can only be plausibly explained by copy & paste (e.g. identical typos in comments).

One hypothesis that comes up time and again, however, is that some or many of the clones were not created by copy & paste, but instead were written independently and then evolved into the same form.

Convergent Evolution

This hypothesis reminds me of convergent evolution, where environmental factors drive independent evolution of similar traits in species whose ancestors do not show those traits. For example, both pill bugs and pill millipede have evolved similar defenses, and consequently look similar, but belong to different branches of

Read more...


This post is about student internships at CQSE. If you are studying computer science and are looking for a job specifically designed to help you get the most out of your studies, read on.

Read more...


A fundamental challenge when introducing reviews is that reviewing code is hard. This post summarizes our practices to nevertheless make life for a reviewer as easy as possible.

Read more...


Reviews point out problems in somebody’s work. Unfortunately, both giving and receiving criticism can be hard. To successfully introduce reviews, we must overcome this resistance. Since finding (and later removing) problems is the primary goal of reviews, this challenge is inherent—no review process can avoid it. We can, however, make receiving review results much easier. This post describes two simple but effective practices we use in our code reviews.

Read more...


The primary purpose of automated tests is to reveal regression bugs. But how can we tell how well a test suite does this? Code coverage measurement is often used to assess tests in practice. But what does it really tell? We analyzed a set of open-source projects to find out and came up with a clear answer. This post summarizes our findings.

Read more...


Vorträge


Elmar Juergens:

Setzen wir unsere Qualitätsanalysen wirklich sinnvoll ein?

Talk at JavaLand 2017, 2017.

Elmar Juergens:

Was verraten moderne Analysen über Wechselwirkungen zwischen Architektur und Organisation? Fallbeispiele aus zehn Jahren Praxiseinsatz.

Talk at SE Live 2017, 2017.

Elmar Juergens:

Von Clean Code zu Clean Software.

Keynote at Clean Code Days 2017, 2017.

Elmar Juergens:

Faktenbasiertes Debuggen von Software-Teams.

Talk at Java Forum Stuttgart 2017, 2017.

Elmar Juergens:

Software Teams Debuggen.

Talk at JUG Darmstadt 2017, 2017.

Elmar Juergens:

Do Code Clones Matter? Hinter den Kulissen einer empirischen Studie über Code Cloning und dem daraus entstandenen Spin-Off.

Gastvorlesung Universität Passau 2016, 2016.

Elmar Juergens:

Haben wir das Richtige getestet? Erfahrungen mit Test-Gap-Analyse in der Praxis.

Meetup Software Architektur München 2016, 2016.

Elmar Juergens:

Krise als Chance? Wege zu wartbarer Software.

Pecha Kucha Vortrag bei "Amazing ideas and freaky challenges in software development" powered by PechaKucha @OMICRON electronics, 2016.

Elmar Juergens:

Software Teams Debuggen Was verraten Analysen über Probleme zwischen technischer Architektur und Team-Architektur?

Gastvorlesung Universität Passau 2016, 2016.

Elmar Juergens:

Was verraten moderne Analysen über Wechselwirkungen zwischen Architektur und Organisation? Fallbeispiele aus zehn Jahren Praxiseinsatz.

Talk at the Architecture Gathering 2016, 2016.

Elmar Juergens:

Fit für die Betreuung: Herausragende Studentische Abschlussarbeiten anleiten.

Vortrag im Rahmen von CeDoSIA, dem interdisziplinäre Doktorandenprogramm der Fakultät für Informatik der TUM, 2015.

Elmar Juergens:

Fit für die Promotion: (Miss-)Erfolgsstrategien auf dem langen Weg zur eigenen Promotion.

Vortrag im Rahmen von CeDoSIA, dem interdisziplinäre Doktorandenprogramm der Fakultät für Informatik der TUM, 2015.

Elmar Juergens:

Vom Wiegen allein wird die Sau nicht fett - von Qualitätsanalyse zu wirksamer Qualitätsverbesserung.

Vortrag bei vbw, 2015.

Elmar Juergens:

Was sollte ich bei der Wahl meiner Abschlussarbeit beachten?

Vortrag im Rahmen der Veranstaltung VHK-Karriere-Forum "IT + MB/Automotive", 2015.

Elmar Juergens:

Vom Wiegen allein wird die Sau nicht fett: Von Qualitätsanalyse zu wirksamer Qualitätsverbesserung.

Talk at Software Quality Days 2014 (voted among best presentations of the conference), 2014.

Elmar Juergens:

Asynchrones Pair Programming.

Talk at Entwicklertag Karlsruhe 2012, Agile Day, 2012.

Elmar Juergens:

Copy & Paste & Bug.

Talk at Entwicklertag Karlsruhe 2012, Conference Day, 2012.

Elmar Juergens:

Software Quality Control: Wie stelle ich die Wartbarkeit von Code in Eigenentwicklung und Outsourcing sicher?

Talk at ALM Days 2012: Visual Studio Application Lifecycle Management Days 2012, Management Day, 2012.

Elmar Juergens:

Feature Profiling for Evolving Systems.

Talk at International Conference on Program Comprehension (ICPC’11), 2011.

Elmar Juergens:

Regression Test Selection of Manual System Tests in Practice.

Talk at European Conference on Software Maintenance and Reengineering (CSMR’11), 2011.

Elmar Juergens:

Research in cloning beyond code: a first roadmap.

Talk at International Workshop on Software Clones (IWSC’11), 2011.

Elmar Juergens:

Achieving Accurate Clone Detection Results.

Talk at International Workshop on Software Clones (IWSC’10), 2010.

Elmar Juergens:

Can Clone Detection Support Quality Assessments of Requirements Specifications?

Talk at International Conference on Software Engineering (ICSE’10), 2010.

Elmar Juergens:

Code similarities beyond copy & paste.

Talk at European Conference on Software Maintenance and Reengineering (CSMR’10), 2010.

Elmar Juergens:

How much is a Clone?

Talk at International Workshop on Software Quality and Maintainability (SQM’10), 2010.

Elmar Juergens:

Clone Detection Beyond Copy & Paste.

Talk at International Workshop on Software Clones (IWSC’09), 2009.

Elmar Juergens:

Do Code Clones Matter?

Talk at International Conference on Software Engineering (ICSE’09), 2009.

Elmar Juergens:

Software-Qualitätsmodelle in der Praxis: Erfahrungen mit aktivitätenbasierten Modellen.

Talk at Workshop Software-Qualitätsmodellierung und -bewertung (SQMB’08), 2008.

Elmar Juergens:

Static Bug Detection Through Analysis of Inconsistent Clones.

Talk at Workshop Testmethoden für Software - Von der Forschung in die Praxis (TeSo’08), 2008.

Elmar Juergens:

Variability Models Must Not be Invariant!.

Talk at Workshop on Variability Modelling of Software-intensive Systems (VaMoS’07), 2007.

Elmar Juergens:

Tool Demonstration: The Language Evolver Lever.

Talk at Workshop on Language Descriptions, Tools and Applications (LDTA’06), 2006.

Veröffentlichungen


Jakob Rott, Rainer Niedermayr, Elmar Juergens, Dennis Pagano:

Ticket Coverage: Putting Test Coverage into Context.

Proceedings of the 8th Workshop on Emerging Trends in Software Metrics (WETSoM’17), 2017.

Rainer Niedermayr, Elmar Juergens, Stefan Wagner:

Will My Tests Tell Me If I Break This Code?

Proceedings of the International Workshop on Continuous Software Evolution and Delivery (CSED’16), 2016.

Timo Pawelka, Elmar Juergens:

Is This Code Written in English? A Study of the Natural Language of Comments and Identifiers in Practice.

Proceedings of the 31st International Conference on Software Maintenance and Evolution (ICSME’15), 2015.

Maximilian Junker, Manfred Broy, Benedikt Hauptmann, Wolfgang Böhm, Henning Femmer, Sebastian Eder, Elmar Juergens, Rainer Janßen, Rudolf Vaas:

Principles and a Process for Successful Industry Cooperation – The Case of TUM and Munich Re.

2nd International Workshop on Software Engineering Research and Industrial Practice (SER&IP’15), 2015.

Veronika Bauer, Elmar Juergens, Tobias Voelke:

A Novel Approach to Detect Unintentional Re-implementations.

The 30th International Conference Software Maintenance and Evolution (ICSME’14), 2014.

Shane McIntosh, Martin Poehlmann, Elmar Juergens, Audris Mockus, Bram Adams, Ahmed E. Hassan, Brigitte Haupt, Christian Wagner:

Collecting and Leveraging a Benchmark of Build System Clones to Aid in Quality Assessments.

36th International Conference on Software Engineering (ICSE’14), 2014.

Daniela Steidl, Benjamin Hummel, Elmar Juergens:

Incremental Origin Analysis of Source Code Files.

Proceedings of the 11th Working Conference on Mining Software Repositories (MSR’14), 2014.

Moritz Beller, Alberto Bacchelli, Andy Zaidman, Elmar Juergens:

Modern Code Reviews in Open-Source Projects: Which Problems Do They Find/Fix?

The 11th Working Conference on Mining Software Repositories (MSR’14), 2014.

Henning Femmer, Daniel Méndez Fernández, Elmar Juergens, Michael Klose, Ilona Zimmer, Jörg Zimmer:

Rapid Requirements Checks with Requirements Smells: Two Case Studies.

1st International Workshop on Rapid and Continous Software Engineering (RCoSE’14), 2014.

Sebastian Eder, Benedikt Hauptmann, Maximilian Junker, Elmar Juergens, Rudolf Vaas, Karl-Heinz Prommer:

Did We Test Our Changes? Assessing Alignment between Tests and Development in Practice.

Proceedings of the Eighth International Workshop on Automation of Software Test (AST’13), 2013.

Daniela Steidl, Benjamin Hummel, Elmar Juergens:

Quality Analysis of Source Code Comments.

Proceedings of the 21st IEEE Internation Conference on Program Comprehension (ICPC’13), 2013.

Martin Pöhlmann, Elmar Juergens:

Revealing Missing Bug-Fixes in Code Clones in Large-Scale Code Bases.

Proceedings of the Seventh International Workshop on Software Quality and Maintainability (SQM’13), 2013.

Veronika Bauer, Lars Heinemann, Benjamin Hummel, Elmar Juergens, Michael Conradt:

A Framework for Incremental Quality Analysis of Large Software Systems.

Proceedings of the 28th IEEE International Conference on Software Maintenance (ICSM’12), 2012.

Benedikt Hauptmann, Maximilian Junker, Sebastian Eder, Elmar Jürgens, Rudolf Vaas:

Can clone detection support test comprehension?

Proceedings of the 20th IEEE International Conference on Program Comprehension (ICPC’12), 2012.

Sebastian Eder, Maximilian Junker, Elmar Jürgens, Benedikt Hauptmann, Rudolf Vaas, Karl-Heinz Prommer:

How much does unused code matter for maintenance?

Proceedings of the 34th International Conference on Software Engineering (ICSE’12), 2012.

Moritz Beller, Elmar Jürgens:

How Strict is Your Architecture?

Softwaretechnik-Trends, Vol. 32, 2012.

Stefan Wagner, Klaus Lochmann, Sebastian Winter, Florian Deissenboeck, Elmar Juergens, Markus Herrmannsdoerfer, Lars Heinemann, Michael Kläs, Adam Trendowicz, Jens Heidrich, Reinhold Plösch, Andreas Goeb, Christian Körner, Korbinian Schoder, Christian Schubert:

The Quamoco Quality Meta-Model.

Report TUM-I128. Technische Universität München, 2012.

Daniela Steidl, Benjamin Hummel, Elmar Jürgens:

Using Network Analysis for Recommendation of Central Software Classes.

Proceedings of the 19th Working Conference on Reverse Engineering (WCRE’12), 2012.

Nils Göde, Benjamin Hummel, Elmar Juergens:

What Clone Coverage Can Tell.

Proceedings of the 6th International Workshop on Software Clones (IWSC’12), 2012.

Sandro Schulze, Elmar Jürgens, Janet Feigenspan:

Analyzing the Effect of Preprocessor Annotations on Code Clones.

Proceedings of the 11th IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM’11), 2011.

Elmar Jürgens, Martin Feilkas, Markus Herrmannsdoerfer, Florian Deissenboeck, Rudolf Vaas, Karl-Heinz Prommer:

Feature Profiling for Evolving Systems.

Proceedings of the 19th IEEE International Conference on Program Comprehension (ICPC’11), 2011.

Benjamin Hummel, Elmar Jürgens, Daniela Steidl:

Index-based model clone detection.

Proceedings of the 5th ICSE International Workshop on Software Clones (IWSC’11), 2011.

Elmar Jürgens, Benjamin Hummel, Florian Deissenboeck, Martin Feilkas, Christian Schlögel, Andreas Wübbeke:

Regression Test Selection of Manual System Tests in Practice.

Proceedings of the 15th European Conference on Software Maintenance and Reengineering (CSMR’11), 2011.

Elmar Jürgens:

Research in cloning beyond code: a first roadmap.

Proceedings of the 5th International Workshop on Software Clones (IWSC’11), 2011.

Elmar Juergens:

Why and How to Control Cloning in Software Artifacts.

Dissertation. Technische Universität München, 2011.

Elmar Juergens, Nils Göde:

Achieving Accurate Clone Detection Results.

Proceedings of the 4th International Workshop on Software Clones (IWSC’10), 2010.

Elmar Juergens, Florian Deissenboeck, Martin Feilkas, Benjamin Hummel, Bernhard Schaetz, Stefan Wagner, Christoph Domann, Jonathan Streit:

Can Clone Detection Support Quality Assessments of Requirements Specifications?

Proceedings of the 32nd International Conference on Software Engineering (ICSE’10), 2010.

Elmar Juergens, Florian Deissenboeck, Benjamin Hummel:

Code similarities beyond copy & paste.

Proceedings of the 14th European Conference on Software Maintenance and Reengineering (CSMR’10), 2010.

Florian Deissenboeck, Lars Heinemann, Benjamin Hummel, Elmar Juergens:

Flexible Architecture Conformance Assessment with ConQAT.

Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering (ICSE’10), 2010.

Elmar Juergens, Florian Deissenboeck:

How Much is a Clone?

Proceedings of the 4th International Workshop on Software Quality and Maintainability (WoSQ’10), 2010.

Benjamin Hummel, Elmar Juergens, Lars Heinemann, Michael Conradt:

Index-Based Code Clone Detection: Incremental, Distributed, Scalable.

Proceedings of the 26th IEEE International Conference on Software Maintenance (ICSM’10), 2010.

Florian Deissenboeck, Benjamin Hummel, Elmar Juergens, Michael Pfaehler:

Model Clone Detection in Practice.

Proceedings of the 4th International Workshop on Software Clones (IWSC’10), 2010.

Elmar Juergens, Florian Deissenboeck, Benjamin Hummel:

Clone Detection Beyond Copy & Paste.

Proceedings of the 3rd International Workshop on Software Clones (IWSC’09), 2009.

Elmar Juergens, Florian Deissenboeck, Benjamin Hummel:

CloneDetective: A Workbench for Clone Detection Research.

Proceedings of the 31st International Conference on Software Engineering (ICSE’09), 2009.

Markus Herrmannsdoerfer, Sebastian Benz, Elmar Jürgens:

COPE - Automating Coupled Evolution of Metamodels and Models.

Proceedings of the 23rd European Conference on Object-Oriented Programming (ECOOP’09), 2009.

Elmar Juergens, Florian Deissenboeck, Benjamin Hummel, Stefan Wagner:

Do Code Clones Matter?

Proceedings of the 31st International Conference on Software Engineering (ICSE’09), 2009.

Florian Deissenboeck, Elmar Juergens, Klaus Lochmann, Stefan Wagner:

Software Quality Models: Purposes, Usage Scenarios and Requirements.

Proceedings of the 7th International Workshop on Software Quality (WoSQ’09), 2009.

Christoph Domann, Elmar Juergens, Jonathan Streit:

The Curse of Copy&Paste – Cloning in Requirements Specifications.

Proceedings of the 3rd International Symposium on Empirical Software Engineering and Measurement (ESEM’09), 2009.

Martin Feilkas, Daniel Ratiu, Elmar Jürgens:

The loss of architectural knowledge during system evolution: An industrial case study.

Proceedings of the 17th IEEE International Conference on Program Comprehension (ICPC’09), 2009.

Florian Deissenboeck, Benjamin Hummel, Elmar Jürgens, Bernhard Schätz, Stefan Wagner, Jean-François Girard, Stefan Teuchert:

Clone detection in automotive model-based development.

Proceedings of the International Conference on Software Engineering (ICSE’08), 2008.

Stefan Wagner, Florian Deissenboeck, Benjamin Hummel, Elmar Juergens, Benedikt Parareda, Bernhard Schaetz (editors):

Selected Topics in Software Quality.

Report TUM-I0824. Technische Universität München, 2008.

Stefan Wagner, Florian Deißenböck, Martin Feilkas, Elmar Jürgens:

Software-Qualitätsmodelle in der Praxis: Erfahrungen mit aktivitätenbasierten Modellen.

In Proceedings of Workshop Software-Qualitätsmodellierung und -bewertung (SQMB ’08), 2008.

Florian Deissenboeck, Elmar Juergens, Benjamin Hummel, Stefan Wagner, Benedikt Parareda, Markus Pizka:

Tool Support for Continuous Quality Control.

IEEE Software, Vol. 25, 2008.

Markus Pizka, Elmar Jürgens:

Automating Language Evolution.

First Joint IEEE/IFIP Symposium on Theoretical Aspects of Software Engineering (TASE’07), 2007.

Elmar Jürgens, Markus Pizka:

Variability Models Must Not be Invariant!.

First International Workshop on Variability Modelling of Software-Intensive Systems (VaMoS’07), 2007.

Elmar Jürgens, Markus Pizka:

The Language Evolver Lever – Tool Demonstration.

Electronic Notes in Theoretical Computer Science, Vol. 164, 2006.

Preise und Auszeichnungen


  • {:"Best Paper Award"=>"QS-Tag 2016"}
  • Im Oktober 2015 zum Junior Fellow der Gesellschaft für Informatik ernannt
  • Best Presentation Award 2015 des Java Forum Stuttgart 2015
  • {:"Best Paper Award"=>"2nd International Workshop on Software Engineering Research and Industrial Practice, 2015."}
  • Zum besten Sprecher der Software Quality Days 2015 gewählt
  • Zum besten Sprecher der Clean Code Days 2014 gewählt
  • Unter die besten drei Sprecher bei den Software Quality Days 2013 und 2014 gewählt
  • Software-Engineering-Preis 2011 der Ernst Denert-Stiftung für Software Engineering für die Dissertation zum Thema "Why and How to Control Cloning in Software Artifacts"
  • ESG Preis für Diplomarbeit zum Thema "Evolutionary Development of Domain-Specific Languages", 2006.

Forschungsaktivitäten


  • PC Co-Chair des 7. International Workshop on Software Clones (IWSC '13) auf der International Conference on Software Engineering (ICSE '13)
  • Mitglied des Programmkomitees von IWSC, WCRE, ESEM, CSMR, ICSM, CSMR-WCRE und ICPC
  • Reviewer für das Computer Journal