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

Beyond the Concept of Quality in Pharo (esug2015)

Beyond the Concept of Quality in Pharo (esug2015)

People were using the notion of quality for as long as they live, and software engineers are not an exception. Our goal is to introduce a concept of quality as a first class entity that can be used to facilitate the software evolution process. Last year we have presented ViDI - a Visual Design Inspector. Now we want to present QualityAssistant - a tool which assists you with a quality of your code right when you are working with it. QualityAssistant is based on an idea that each code entity should be able to tell about it’s quality, and the ways to improve it.

Yuriy Tymchuk

July 16, 2015
Tweet

More Decks by Yuriy Tymchuk

Other Decks in Science

Transcript

  1. Beyond the Concept of Quality in
    Yuriy Tymchuk | Michele Lanza

    View Slide

  2. Circle

    View Slide

  3. Circle
    x² + y² = r²

    View Slide

  4. Circle

    View Slide

  5. Circle

    View Slide

  6. Circle

    View Slide

  7. Circle

    View Slide

  8. Circle

    View Slide

  9. Quality is relative

    View Slide

  10. Standard

    View Slide

  11. Comparison

    View Slide

  12. Perception

    View Slide

  13. Visual Design Inspector

    View Slide

  14. View Slide

  15. View Slide

  16. View Slide

  17. View Slide

  18. Package
    Class
    Method

    View Slide

  19. Package
    Class
    Method
    More Critics
    Less Critics

    View Slide

  20. View Slide

  21. View Slide

  22. View Slide

  23. View Slide

  24. View Slide

  25. View Slide

  26. View Slide

  27. View Slide

  28. http://yuriy.tymch.uk/Vidi/

    View Slide

  29. QualityAssistant
    QualityAssistant
    1.0

    View Slide

  30. QualityAssistant
    QualityAssistant
    1.0

    View Slide

  31. Quality Assurance
    Engineer

    View Slide

  32. Quality Assurance
    Engineer
    “Our QA is carrying his son”
    “Our QA has a birthday today”
    “The QA will check my patch”

    View Slide

  33. Quality Assistant
    QA#revalidate:#aMethod
    QA#criticsOf:#aClass

    View Slide

  34. Quality Assistant
    Nautilus Inspector Spotter

    View Slide

  35. Quality Assistant
    Nautilus
    Nautilus

    View Slide

  36. Quality Assistant
    Nautilus
    Information
    Warning
    Error

    View Slide

  37. Quality Assistant
    Nautilus

    View Slide

  38. Quality Assistant
    Nautilus

    View Slide

  39. Quality Assistant
    Nautilus

    View Slide

  40. Quality Assistant
    Nautilus

    View Slide

  41. Quality Assistant
    Nautilus

    View Slide

  42. Quality Assistant
    Nautilus

    View Slide

  43. Quality Assistant
    Inspector

    View Slide

  44. Quality Assistant
    Inspector

    View Slide

  45. Quality Assistant
    Spotter

    View Slide

  46. Quality Assistant
    Nautilus Inspector Spotter

    View Slide

  47. Quality Assistant
    Nautilus Inspector Spotter
    4.0 | 5.0

    View Slide

  48. Quality Assistant
    Nautilus Inspector Spotter
    Renraku

    View Slide

  49. Quality Assistant
    Nautilus Inspector Spotter
    Renraku

    View Slide

  50. Quality Assistant
    Nautilus Inspector Spotter
    Renraku

    View Slide

  51. Quality Assistant
    Nautilus Inspector Spotter
    Renraku
    Debugger Diff CI Server
    CriticBrowser
    +

    View Slide

  52. Quality Assistant
    Nautilus Inspector Spotter
    Renraku
    Debugger Diff CI Server
    CriticBrowser
    +
    https://github.com/Uko/QualityAssistant

    View Slide

  53. Advanced autofix
    Parameterizable rules
    Skip AI
    History recording
    Quality index Trends
    Object level
    abstraction
    Advanced critics
    Moldable
    critic UI
    User feedback
    Advanced skipping
    Advanced rules
    New validation
    strategy
    Design rules
    Development profile

    View Slide

  54. User feedback
    http://renraku.inf.usi.ch

    View Slide

  55. Quality index Trends
    User feedback

    View Slide

  56. History recording
    Quality index Trends
    User feedback
    Development profile
    RBUnclassifiedMethodsRule
    RBNoClassCommentRule
    RBClassNotReferencedRule
    RBOnlyReadOrWrittenVariableRule
    575 1150 1725 2300
    seen revalidated persisted fixed

    View Slide

  57. Skip AI
    History recording
    Quality index Trends
    User feedback
    Advanced skipping
    Development profile
    RBUnclassifiedMethodsRule
    RBNoClassCommentRule
    RBClassNotReferencedRule
    RBOnlyReadOrWrittenVariableRule
    575 1150 1725 2300
    seen revalidated persisted fixed

    View Slide

  58. Advanced autofix
    History recording
    Quality index
    Us
    Advanced skipping
    Adv
    New validation
    strategy

    View Slide

  59. Advanced autofix
    History recording
    Quality index Trends
    Advanced critics
    Moldable
    critic UI
    User feedback
    Advanced skipping
    Advanced rules
    New validation
    strategy

    View Slide

  60. Advanced autofix
    Parameterizable rules
    Skip AI
    History recording
    Quality index Trends
    Advanced critics critic UI
    User feedback
    Advanced skipping
    Advanced rules
    New validation
    strategy
    Design rules
    Development profile

    View Slide

  61. Advanced autofix
    Parameterizable rules
    Skip AI
    History recording
    Quality index Trends
    Object level
    abstraction
    Advanced critics
    Moldable
    critic UI
    User feedback
    Advanced skipping
    Advanced rules
    New validation
    strategy
    Design rules
    Development profile

    View Slide

  62. Advanced autofix
    Parameterizable rules
    Skip AI
    History recording
    Quality index Trends
    Object level
    abstraction
    Advanced critics
    Moldable
    critic UI
    User feedback
    Advanced skipping
    Advanced rules
    New validation
    strategy
    Design rules
    Development profile

    View Slide

  63. Now. YT 24yo
    2006. YT 15yo
    Unikernel
    Freelance Team
    Helpdesk / Network Administrator
    ISP UARNet
    Interlogic outsourcing
    SW company
    Innocode
    SW company
    Physics and
    Mathematics Lyceum
    Minor Academy of
    Sciences of Ukraine
    Bachelor in Informatics
    MS
    Inf.
    Ph.D.
    RMoD internship
    http://yuriy.tymch.uk

    View Slide