quality and multi language systems
play

Quality and Multi-language Systems Yann-Gal Guhneuc KAIST - PowerPoint PPT Presentation

Quality and Multi-language Systems Yann-Gal Guhneuc KAIST 13/10/14 This work is licensed under a Creative Commons Attribution-NonCommercial- ShareAlike 3.0 Unported License 2/126 Typical software developers? 3/126 4/126 Software


  1. Frame Panel Good Practices DrawingEditor DrawingView Tool Drawing Handle Figure We can identify AbstractFigure in the architecture AttributeFigure DecoratorFigure PolyLineFigure CompositeFigure of a systems Figure AttributeFigure DecoratorFigure PolyLineFigure CompositeFigure micro-architectures similar to Component 1..n Client operation() ramification design motifs Leaf Composite add(Component) operation() remove(Component) getComponent(int) For each components operation() to explain the component.operation() To compose objects problem solved in a tree-like structure to describe whole–part hierarchies 56/126

  2. Frame Panel Good Practices DrawingEditor DrawingView Tool Drawing Handle Figure We can identify AbstractFigure in the architecture AttributeFigure DecoratorFigure PolyLineFigure CompositeFigure of a systems Figure AttributeFigure DecoratorFigure PolyLineFigure CompositeFigure micro-architectures similar to Component 1..n Client operation() ramification design motifs Leaf Composite add(Component) operation() remove(Component) getComponent(int) For each components operation() to explain the component.operation() To compose objects problem solved in a tree-like structure to describe whole–part hierarchies 57/126

  3. Good Practices  Conclusions – Codify experts’ experience – Help train novice developers – Help developers’ communicate – Lead to improved quality 58/126

  4. Metrics Quality Models Models Measures Good Practices Definition Maintainability Detection Occurrences Social Studies Characteristics Factors Developers Studies Behaviour 59/126

  5. Social Studies  Developers’ characteristics – Gender – Status – Expertise – Training – Processes – … 60/126

  6. 61/126

  7. Agile programming, anyone? 62/126

  8. 63/126

  9. Social Studies  Need for social studies, typically in the form of experiments – Independent variable (few) – Dependent variables (many) – Statistical analyses (few) – Threats to validity (many) 64/126

  10. Social Studies  For example, impact on identifiers on program understandability – Identifier styles [Sharif, Binkley] – Identifier quality [Lawrie] – Developers’ gender and identifiers [Sharafi] – … 65/126

  11. Social Studies  For example, impact on identifiers on program understandability – Identifier styles [Sharif, Binkley] – Identifier quality [Lawrie] – Developers’ gender and identifiers [Sharafi] – … 66/126

  12. Social Studies  Independent variables – Gender: male vs. female – Identifier: camel case vs. underscore  Dependent variables – Accuracy – Time – Effort 67/126

  13. Social Studies  Subjects Subjects’ Demography (24 Subjects) Academic background Gender Ph.D. M.Sc. B.Sc. Male Female 11 10 3 15 9  Conclusions Accuracy Time Effort 68/126

  14. Metrics Quality Models Models Measures Good Practices Definition Maintainability Detection Occurrences Social Studies Characteristics Factors Developers Studies Behaviour 69/126

  15. Developers Studies  Developers’ thought processes – Cognitive theories – Memory theories • Brooks’ • Kelly’s categories • Von Mayrhauser’s • Minsky’s frames • Pennington’s • Piaget’s schema • Soloway’s • Schank’s scripts – Mental models • Gentner and Stevens’ mental models 70/126

  16. Developers Studies  Studying developers’ thought processes – Yarbus’ eye-movements and vision studies – Just and Carpenter’s eye–mind hypothesis – Palmer’s vision science – … 71/126

  17. Developers Studies  Picking into developers’ thought processes 72/126

  18. Developers Studies  Picking into developers’ thought processes 73/126

  19. Developers Studies  Picking into developers’ thought processes 74/126

  20. Developers Studies  Developers’ thought processes – Reading code – Reading design models • Content • Form – … 75/126

  21. Developers Studies  Developers’ thought processes – Reading code – Reading design models • Content • Form – … 76/126

  22. Developers Studies  Developers’ use of design pattern notations during program understandability – Strongly visual [Schauer and Keler] – Strongly textual [Dong et al.] – Mixed [Vlissides] 77/126

  23. Developers Studies  Independent variables – Design pattern notations – Tasks: Participation, Composition, Role  Dependent variables – Average fixation duration – Ratio of fixations – Ration of fixation times 78/126

  24. Developers Studies  Subjects – 24 Ph.D. and M.Sc. students  Conclusions – Stereotype-enhanced UML diagram [Dong et al.] more efficient for Composition and Role – UML collaboration notation and the pattern- enhanced class diagrams more efficient for Participation 79/126

  25. Feedback Loop  Use – Measures – Occurrences – Factors to build “better” quality models 80/126

  26. 81/126

  27. Modeling for modeling's sake? 82/126

  28. Aristote 384 BC–Mar 7, 322 BC 83/126

  29. Aristote 384 BC–Mar 7, 322 BC Galileo Galilei Feb 15, 1564–Jan 8, 1642 84/126

  30. Aristote 384 BC–Mar 7, 322 BC Galileo Galilei Feb 15, 1564–Jan 8, 1642 Isaac Newton Dec 25, 1642–Mar 20, 1727 85/126

  31. Aristote 384 BC–Mar 7, 322 BC Galileo Galilei Feb 15, 1564–Jan 8, 1642 Isaac Newton Dec 25, 1642–Mar 20, 1727 Max Tegmark May 5, 1967– 86/126

  32. Usefulness? Aristote 384 BC–Mar 7, 322 BC Galileo Galilei Feb 15, 1564–Jan 8, 1642 Isaac Newton Dec 25, 1642–Mar 20, 1727 Max Tegmark May 5, 1967– 87/126

  33. Impact of Quality Models  DSIV – SNCF IT department – 1,000+ employees – 200+ millions Euros – Mainframes to assembly to J2EE – 2003 • Quality team 88/126

  34. Impact of Quality Models  MQL – Dedicated measurement process 89/126

  35. Impact of Quality Models  MQL – Web-based reports 90/126

  36. Impact of Quality Models  Independent variables – Use of MQL or not – LOC; team size, maturity, and nature  Dependent variables – Maintainability, evolvability, reusability, robustness, testability, and architecture quality – Corrective maintenance effort (in time) – Proportions of complex/unstructured code and of commented methods/functions 91/126

  37. Impact of Quality Models  Subjects – 44 systems • 22 under MQL (QA=1) • 22 under ad-hoc processes (QA=0) 92/126

  38. Impact of Quality Models 93/126

  39. Impact of Quality Models 94/126

  40. Impact of Quality Models 95/126

  41. Impact of Quality Models 96/126

  42. Impact of Quality Models  Conclusions – Impact on all dependent variables – Statistical practical significance  Limits – Applicability to today’s software systems 97/126

  43. 98/126

  44. What’s with today’s systems? 99/126

  45. 100/126

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend