1 / 172

Quality and Multi-language Systems

A software engineering research division at Chalmers University of Technology focused on building a syntax error-tolerant Java parser.

everettd
Download Presentation

Quality and Multi-language Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Quality and Multi-language Systems Software Engineering Division Department of Computer Science and Engineering Chalmers University of Technology 15/03/12

  2. Short Bio. • Born in France, Brittany, Nantes, 1975 • Live in Montréal, Québec, Canada, 2003 • Full professor at Polytechnique Montréal • Invited professor at SNU and Yonsei U. in Korea in 2013–2014

  3. 1998: Engineering and “M.Sc.” degrees École des Mines Université de Nantes Title: Syntax Error-tolerant Java parser Focus on parsing, tool building, and Java Short Bio.

  4. 2003: “Ph.D.” in computer science École des Mines Université de Nantes Title: A framework for the traceability of design motifs Focus on design patterns and reverse-engineering Short Bio.

  5. Short Bio. • Canada Research Chair • 2009, on Software Patterns and Patterns of Software • 2014, on Patterns in Mixed-language Systems

  6. Five Main Directions • Design patterns and their impact on code • Design antipatterns and their impact on code • Patterns and their impact on developers • Identifier traces and their use to developers • Feature identification and their traceability to requirements

  7. Five Main Directions • Design patterns and their impact on code • Design antipatterns and their impact on code • Patterns and their impact on developers • Identifier traces and their use to developers • Feature identification and their traceability to requirements

  8. Short Bio. • Design patterns and their impact on code • Change proneness • Kind of changes Massimiliano Di Penta, Luigi Cerulo, Yann-Gaël Guéhéneuc, and Giuliano Antoniol. An Empirical Study of the Relationships between Design Pattern Roles and Class Change Proneness. Proceedings of the 24th International Conference on Software Maintenance (ICSM). September--October 2008. IEEE Computer Society Press.

  9. Short Bio. • Design antipatterns and their impact on code • Change proneness • Fault proneness Foutse Khomh, Massimiliano Di Penta, Yann-Gaël Guéhéneuc, and Giuliano Antoniol. An Exploratory Study of the Impact of Antipatterns on Class Change- and Fault-Proneness. Empirical Software Engineering (EMSE), 17(3):243--275, August 2012. Springer

  10. Short Bio. • Patterns and their impact on developers • Visual effort • Developers’ characteristics Zéphyrin Soh, Zohreh Sharafi, Bertrand van den Plas, Gerardo Cepeda Porras, Y.-G. Guéhéneuc, and G. Antoniol. Professional Status and Expertise for UML Class Diagram Comprehension: An Empirical Study. Proceedings of the 20th International Conference on Program Comprehension (ICPC), June 2012. IEEE Computer Society Press.

  11. Software Development Taupe Ptidej

  12. More Information • www.ptidej.net • www.yann-gael.gueheneuc.net

  13. Typical software developers?

  14. Software costs?

  15. Cost of bugs http://www.di.unito.it/~damiani/ariane5rep.html

  16. Cost of quality http://calleam.com/WTPF/?p=4914

  17. Agenda • Short Bio. • Quality • Quality Models • Good Practices • Social Studies • Developers Studies • Impact of Quality Models • Challenges with Multi-language Systems

  18. qual·i·ty noun \ˈkwä-lə-tē\ : how good or bad something is : a characteristic or feature that someone or something has : something that can be noticed as a part of a person or thing : a high level of value or excellence —Merriam-Webster, 2013

  19. Quality • Division of software quality according to ISO/IEC 9126:2001 and 25000:2005 • Process quality • Product quality • Quality in use

  20. Quality • Division of software quality according to ISO/IEC 9126:2001 and 25000:2005 • Process quality • Product quality • Quality in use

  21. Quality • Dimensions of product quality • Functional vs. non-functional • At runtime vs. structural • Internal vs. external • Maintainability vs. usability • Metric-based vs. practice-based • Objective vs. subjective

  22. Quality • Dimensions of product quality • Functional vs. non-functional • At runtime vs. structural • Internal vs. external • Maintainability vs. usability • Metric-based vs. practice-based • Objective vs. subjective

  23. Quality • Definitions of internal quality characteristics • Maintainability • Flexibility • Portability • Re-usability • Readability • Testability • Understandability

  24. Quality • Definitions of internal quality characteristics • Maintainability • Flexibility • Portability • Re-usability • Readability • Testability • Understandability

  25. Maintainability is the ease with which a software system can be modified —IEEE Standard Glossary of Software Engineering Terminology, 2013

  26. Metrics Quality Models Models Measures Good Practices Definition Maintainability Detection Occurrences Social Studies Characteristics Factors Developers Studies Behaviour

  27. Metrics Quality Models Models Measures Good Practices Definition Maintainability Detection Occurrences Social Studies Characteristics Factors Developers Studies Behaviour

  28. Quality model are models with the objective to describe, assess, and–or predict quality —Deissenboeck et al., WOSQ, 2009 (With minor adaptations)

  29. Quality Models • Division of quality models according to Deissenboeck et al. • Describe quality characteristics and their relationships • Assess the quality characteristics of some software systems • Predict the future quality of some software systems

  30. Quality Models • Division of quality models according to Deissenboeck et al. • Describe quality characteristics and their relationships • Assess the quality characteristics of some software systems • Predict the future quality of some software systems

  31. Quality Models • Basis for quality models • Software measures (aka metrics) • Relationships among characteristics and metrics • Theoretical • Practical

  32. Quality Models • Metrics have been well researched • Chidamber and Kemerer • Hitz and Montazeri • Lorenz and Kidd • McCabe • … (Do not miss Briand et al.’s surveys on cohesion and coupling metrics)

  33. Who needs models?

  34. 130.0 Physics • 129.0 Mathematics • 128.5 Computer Science • 128.0 Economics • 127.5 Chemical engineering • 127.0 Material science • 126.0 Electrical engineering • 125.5 Mechanical engineering • 125.0 Philosophy • 124.0 Chemistry • 123.0 Earth sciences • 122.0 Industrial engineering • 122.0 Civil engineering • 121.5 Biology • 120.1 English/literature • 120.0 Religion/theology • 119.8 Political science • 119.7 History • 118.0 Art history • 117.7 Anthropology/archeology • 116.5 Architecture • 116.0 Business • 115.0 Sociology • 114.0 Psychology • 114.0 Medicine • 112.0 Communication • 109.0 Education • 106.0 Public administration

  35. Measures without models http://hardsci.wordpress.com/2013/09/17/the-hotness-iq-tradeoff-in-academia/

  36. Quality Models • Different input metrics, different output characteristics • Bansiya and Davis’ QMOOD • Design metrics • Maintainability-related characteristics • Zimmermann et al.’s models • Code and historical metrics • Fault-proneness • …

More Related