Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Walls, Pillars and Beams: A 3D Decomposition of Quality Anomalies (vissoft2016)

Yuriy Tymchuk
October 04, 2016

Walls, Pillars and Beams: A 3D Decomposition of Quality Anomalies (vissoft2016)

Quality rules are used to capture important implementation and design decisions embedded in a software system’s architecture. They can automatically analyze software and assign quality grades to its components. To provide a meaningful evaluation of quality, rules have to stay up-to-date with the continuously evolving system that they describe. However one would encounter unexpected anomalies during a historical overview because the notion of quality is always changing, while the qualitative evolution analysis requires it to remain constant.
To understand the anomalies in a quality history of a real-world software system we use an immersive visualization that lays out the quality fluctuations in three dimensions based on two co-evolving properties: quality rules and source code. This helps us to identify and separate the impact caused by the changes of each property, and allows us to detect significant mistakes that happened during the development process.

Yuriy Tymchuk

October 04, 2016
Tweet

More Decks by Yuriy Tymchuk

Other Decks in Research

Transcript

  1. Walls, Pillars and Beams: A 3D Decomposition of Quality Anomalies

    , Leonel Merino, Mohammad Ghafari and Oscar Nierstrasz Software Composition Group @ University of Bern Yuriy Tymchuk
  2. Walls, Pillars and Beams: A 3D Decomposition of Quality Anomalies

    , Leonel Merino, Mohammad Ghafari and Oscar Nierstrasz Software Composition Group @ University of Bern @yuriy_tymchuk
  3. Time Pharo 5 240 packages 5.5K classes 92K methods 680

    updates SmallLint 8 groups 124 rules 250 updates* CI & Live Height
  4. Time Pharo 5 240 packages 5.5K classes 92K methods 680

    updates SmallLint 8 groups 124 rules 250 updates* Tricorder: Building a Program Analysis Ecosystem. C. Sadowski, J. Gogh, C. Jaspan, E. Soederberg, C. Winter. ICSE’15, pp. 598–608, IEEE, 2015 When QualityAssistant Meets Pharo. Y. Tymchuk , M. Ghafari, O. Nierstrasz. IWST’16, to-be-published, ACM, 2016 * CI & Live Height
  5. Height Time Pharo 5 240 packages 5.5K classes 92K methods

    680 updates SmallLint 8 groups 124 rules 250 updates isNil ifTrue: ifNil: car isNil ifTrue: [ ^ car := Car new ] CI & Live *
  6. Height Time Pharo 5 240 packages 5.5K classes 92K methods

    680 updates SmallLint 8 groups 124 rules 250 updates isNil ifTrue: ifNil: car isNil ifTrue: [ ^ car := Car new ] CI & Live *
  7. Height Time Pharo 5 240 packages 5.5K classes 92K methods

    680 updates SmallLint 8 groups 124 rules 250 updates car isNil ifTrue: [ ^ car := Car new ] CI & Live isNil ifTrue: ifNil:
  8. Height Time Pharo 5 240 packages 5.5K classes 92K methods

    680 updates SmallLint 8 groups 124 rules 250 updates car isNil ifTrue: [ ^ car := Car new ] Critique CI & Live isNil ifTrue: ifNil:
  9. Height Time Pharo 5 240 packages 5.5K classes 92K methods

    680 updates SmallLint 8 groups 124 rules 250 updates CI & Live isNil ifTrue: ifNil: Critiques car isNil ifTrue: [ ^ car := Car new ]
  10. Height Time Pharo 5 240 packages 5.5K classes 92K methods

    680 updates SmallLint 8 groups 124 rules 250 updates Time CI & Live isNil ifTrue: ifNil: car isNil ifTrue: [ ^ car := Car new ] Critiques
  11. Height Time Pharo 5 240 packages 5.5K classes 92K methods

    680 updates SmallLint 8 groups 124 rules 250 updates Time CI & Live isNil ifTrue: ifNil: car isNil ifTrue: [ ^ car := Car new ] Critiques
  12. 40K 30K 20K 10K 680 Versions Critiques 0 Analyzing the

    Process of Pharoevolution Number of Critiques Σ=19.5M
  13. Every block of stone has a statue inside it and

    it is the task of the sculptor to discover it “ ” Michelangelo
  14. Every piece of data has a visualization that tells a

    story about it and it is the task of the visualization builder to discover it “ ”