Visually Assisted Mining for Smells in Change Request Systems

Background

Bug tracking systems play an important role in the software development lifecycle [1]. As the tendency in the industry has moved toward more agile and iterative development processes, the role these systems play is not confound only to the traditional maintenance phase, but it rather assists the entire development lifecycle. These systems are not being used just for reporting purposes, but also play an important role in the coordination and decision making of users, managers, developers, testers and quality assurance analysts, often working from geographically distant locations. They have revealed their full potential especially in the success of open source systems such as Linux, Moxilla, Eclipse etc [6].

Bug tracking systems produce an overwhelming amount of data. Systems such as Bugzilla have for example defined their own simplified querying language to assist the user in finding what he is looking for but they fail to properly visualize the patterns that emerge from the interaction of users and the evolution of the systems they support [2]. Dashboards on the other hand, have proven to be a powerful tool for visualizing exactly the information need of the user, in predominantly graphical form, helping him make sense of the patterns the data exhibit so that a quick response can be formulated [3,7].

Research Gap

Halverson et al. in [4] present their findings on the identification of problematic patterns (antipatterns) in large Open Source Projects. They have also created two visualization tools, the Social Health Overview (SHO) and the Work Item History, to help distributed team members cope with (1) ping-pong patterns, (2) keeping things from ?falling through the cracks? and (3) bugs reported at the wrong level of severity. Ellis et al. on the other hand, in [2] present their evaluation results on the SHO and claimed that it has great potential in helping especially middle management, in large Open Source Software Projects, ?to keep a bird?s eye? view of the entire project. Similarly, D?Ambros et al. came up with the ?System Radiography? and the ?Bug Watch? visualization tools, to help the user explore problematic patterns of large Open Source Projects [1]. On the other hand Jeong et al. in [5] present an approach to explore team structure and collaboration patterns in bug tracking systems that can help identify overloaded developers, key team members and long tossing paths.

All the aforementioned research have targeted only the realm of large Open Source Projects and the ticket lifecycle specific to them; therefore they are not directly applicable to commercial software development projects, which usually exhibit a somewhat different ticket lifecycle and development process. Also the novel visualization means they present suffer from a lot of the problems mentioned in [3,7].

Assignment

The aim of this thesis is to:

  • Identify the major anti-patters and problematic scenarios revealed by Change Request Systems.
  • Improve on the visualization techniques created by Christian Charles in the diploma thesis
    ?Entwurf eines generischen Prozessleitstandes für Change Request Systeme? in the context of identifying the anti-patterns and problematic scenarios.
  • Prototype an analysis dashboard, with drill-down capabilities, that exposes the above mentioned problems.
    • Define and evaluate indicators for the presence of problems.

Literature

[1] Marco D?Ambros, Michele Lanza, and Martin Pinzger. ?a bug?s life? visualizing a bug database. In International Workshop on Visualizing Software for Analysis and Understanding, pages 113?120, 2007.

[2] Jason B. Ellis, Shahtab Wahid, Catalina Danis, and Wendy A. Kellogg. Task and social visualization in software development: evaluation of a prototype. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, CHI ?07, pages 577?586, New York, NY, USA, 2007. ACM.

[3] Stephen Few. Information dashboard design. O?Reilly, 2006.

[4] Christine A. Halverson, Jason B. Ellis, Catalina Danis, and Wendy A. Kellogg. Designing task visualizations to support the coordination of work in software development. In Proceedings of the 2006 20th anniversary conference on Computer supported cooperative work, CSCW ?06, pages 39?48, New York, NY, USA, 2006. ACM.

[5] Gaeul Jeong, Sunghun Kim, and Thomas Zimmermann. Improving bug triage with bug tossing graphs. In Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering, ESEC/FSE ?09, pages 111?120, New York, NY, USA, 2009. ACM.

[6] Adrian Schröter, Thomas Zimmermann, Rahul Premraj, and Andreas Zeller. If your bug database could talk. In Proceedings of the 5th international symposium on empirical software engineering, volume 2, pages 18?20, 2006.

[7] Edward R Tufte and PR Graves-Morris. The visual display of quantitative information, volume 2. Graphics press Cheshire, CT, 1983.