Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering

User Tools

Site Tools

Seminar Topics

Processes and Design


  • Shirish Negi (dsp)

Different “styles” of agile software development are for example eXtreme Programming, Scrum and Kanban. This topic critically discusses in detail the Kanban approach on agile software development.

Initial References:

For your entertainment:


  • Ugochukwu Ejikeme (dsp)

Ivar Jacobson, Betrand Meyer, Richard Soley (3 big names!) started an initiative to "re-found software engineering based on a solid theory, proven principles, and best practices". They called it Software Engineering Method and Theory (SEMAT). Given the prominence of the signatories of this initiative, it needs at least to acknowledged by the software engineering community.

Initial References:

Pair Programming

  • Nourhan Abdelhalim (dsp)

Pair programming is an development technique in which two programmers work together at one computer, working on the same task. This topic illustrates best practices in pair programming and the impact on code quality.

Initial References:

Test Driven Development

  • Panagiotis Salonits (dsp)

Tests play a major role to ensure product quality in Agile Software Development. This topic explains how Test-Driven Development is used and what different philosophies of TDD exist. Further an analysis on the impact for development quality is shown.

Initial References:

  • Kent Beck: Test Driven Development
  • Freeman/Pryce - “Growing Object Oriented Code Guided By Tests”, Addison-Wesley Professional, 2010
  • D. Janzen and H. Saiedian. - “Test-driven development: Concepts, taxonomy, and future direction”. IEEE Software Journal, September 2005
  • D. Janzen and H. Saiedian. - “Does test-driven development really improve software design quality? IEEE Software, March 2008.
  • T. Bhat and N. Nagappan. - “Evaluating the efficacy of testdriven development: industrial case studies”. In Proceedings of the 2006 ACM/IEEE international symposium on Empirical software engineering, 2006
  • Nachiappan Nagappan, E. Michael Maximilien, Thirumalesh Bhat, and Laurie Williams. 2008. Realizing quality improvement through test driven development: results and experiences of four industrial teams. Empirical Softw. Engg. 13, 3 (June 2008), 289-302.
  • L. Crispin - “Driving Software Quality: How Test-Driven Development Impacts Software Quality,” IEEE Software, Nov. 2006.
  • B. George and L. Williams - “An initial investigation of test driven development in industry,” in Proceedings of the 2003 ACM symposium on Applied computing, 2003
  • Raphael Pham, Leif Singer, Olga Liskin, Fernando Figueira Filho, Kurt Schneider: Creating a Shared Understanding of Testing Culture on a Social Coding Site, ICSE 2013

For your entertainment:

Code Structure

Shared Executable Design Knowledge

  • Tanya Agarwal (dsp)

In the quest to improve and keep the design of our software it might be a good idea to get the development environment on board to assist us. There is work (and already tools) working towards this goal.

  • Daniel Speicher: Code Quality Cultivation, IC3K 2011, Selected Papers.
  • Daniel Speicher, Jan Nonnen, Andri Bremm: Code Museums as Functional Tests for Static Analyses, WSR 2012, Extended Abstract
  • Michele Lanza and Radu Marinescu. Object-Oriented Metrics in Practice. Springer - Verlag, August 2006.
  • Radu Marinescu. Detection Strategies: Metrics-Based Rules for Detecting Design Flaws. In Proceedings of the 20th IEEE International Conference on Software Maintenance (ICSM 2004), Washington, DC, USA, 2004.
  • Johan Brichau, Andy Kellens, Sergio Castro, Theo D'Hondt: Enforcing Structural Regularities in Software using IntensiVE. Science of Computer Programming: Experimental Software and Toolkits (EST 3).
  • Paul Heckmann, Daniel Speicher: Interactive Exploration of Structural Concepts in Code, to be published in IC3K 2012, Selected Papers.
  • Jan Nonnen, Daniel Speicher, Paul Imhoff: Locating the Meaning of Terms in Source Code - Research on ”Term Introduction”, WCRE 2011

Object Oriented Design

  • Zana Vosough (dsp)

Object Oriented Design is probably the most essential competence you need as a software engineer developing object-oriented software. Unfortunately the software engineering lectures only introduce you into a small part of this. Your paper and talk should distill an overview of the object-oriented design knowledge presented in the books and report about its impact on the research literature (i.e. you should search for publications referencing the initial references or the topic).

Initial References:

  • Arthur J. Riel. Object-Oriented Design Heuristics. Addison-Wesley, 1996.
  • Craig Larman. Applying UML and Patterns – An Introduction to Object-Oriented Analysis and Design and Iterative Development. Prentice Hall 2002
  • Sanjiv Gossain. Object modeling and design strategies: tips and techniques. Advances in object technology. Cambridge University Press, 1998
  • Meilir Page-Jones. Fundamentals of Object-Oriented Design, 2000
  • Eric Evans: Domain-Driven Design. Tackling Complexity in the Heart of Software. Addison-Wesley, 30. August 2003
  • Andy Carmichael, Dan Haywood: Better Software Faster, Prentice Hall PTR 2002

Maybe as well:

  • Daniel Speicher, Jan Nonnen, Holger Mügge: How many realities fit into a program - Notes on the meaning of meaning for programs, SKY 2011

Code Readability

  • Christian Langer (jn)

Code is written once but read many times. Therefore code readability is of central importance. But what makes code readable? Can readability be measured automatically? Can readability be improved? The initial literature has quite promising answers to these questions.

Initial References:

  • Raymond P. L. Buse, Westley R. Weimer, Learning a Metric for Code Readability, IEEE Transactions on Software Engineering, vol. 36, pp. 546–558, 2010.
  • Xiaoran Wang, Lori Pollock, K. Vijay-Shanker, Automatic Segmentation of Method Code into Meaningful Blocks to Improve Readability. WCRE 2011, Limerick.

Software Visualization & Perception

Perceiving Visualization & User Centered Design

  • Narges Kasaeizadeh (jn)

This topics gives an overview on how we humans perceive visualization, what design issues arise from this and how we can use a user centered software design to start designing user interfaces up front.

Initial References:

  • Book: Colin Ware - Information Visualization. Perception for Design, 3rd Edition, 2012
  • S. Haroz and D. Whitney, “How Capacity Limits of Attention Influence Information Visualization Effectiveness”, InfoVis, 2012.
  • J. Walny, J. Haber, M. Dork, and J. Sillito, “Follow that sketch: Lifecycles of diagrams and sketches in software development,” 2011 6th International Workshop on Visualizing Software for Understanding and Analysis (VISSOFT), 2011.
  • D. Norman. The Design of Everyday Things. Doubleday, 1988

Visualizing Information/Software Structure

  • Ruby Emmert (jn)

Structure visualization is the most used application in software visualization. This topic analyses recent approaches and gives and overview of important visualizations created in the last decades.

Initial References:

  • P. Caserta and O. Zendra, “Visualization of the Static Aspects of Software: A Survey.,” IEEE transactions on visualization and computer graphics, vol. 17, no. 7, pp. 913–933, Aug. 2011.
  • F. Beck and S. Diehl, “Visual Comparison of Software Architectures,” Information Visualization, pp. 1–34, 2012.
  • R. Wettel, M. Lanza, and R. Robbes, “Software systems as cities: A controlled experiment,” in Proceedings of ICSE, 2011, vol. 11.

Visualizing Evolutionary Information/Software

  • Emrah Ozkan (jn)

Software is evolving over time. Time and evolution are important aspects that need to be incorporated into visualizations. This topics contains in depth analysis of the inherent issues with designing and using evolutionary visualizations. In this context, the storyline visualization as an example for challenge of scalability is presented and analysed.

Initial References:

  • F. Steinbruckner and C. Lewerentz, “Understanding software evolution with software cities,” Information Visualization, Mar. 2012.
  • J. Heer, M. Bostock, and V. Ogievetsky, “A tour through the visualization zoo,” Communications of the ACM, pp. 59–67, 2010.
  • M. Ogawa and K.-L. Ma, “Software evolution storylines,” in Proceedings of the 5th international symposium on Software visualization, 2010, pp. 35–42.
  • M. Pinzger, H. Gall, and M. Fischer, “Visualizing multiple evolution metrics,” In Proceedings of SoftVis 2005, vol. 1, no. 212, pp. 67–75, 2005.

Gamification in Software Engineering

From game design elements to gamefulness: defining gamification

  • Shubham Agarwal (jn)

This topic gives an overview on gamification, its elements and underlying ideas. The basic idea is to use game elements in a non-game context.

Initial References:

teaching/labs/xp/2013b/seminar/seminar_topics.txt · Last modified: 2018/05/09 01:59 (external edit)

SEWiki, © 2019