1.72k likes | 1.74k Views
A software engineering research division at Chalmers University of Technology focused on building a syntax error-tolerant Java parser.
E N D
Quality and Multi-language Systems Software Engineering Division Department of Computer Science and Engineering Chalmers University of Technology 15/03/12
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
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.
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.
Short Bio. • Canada Research Chair • 2009, on Software Patterns and Patterns of Software • 2014, on Patterns in Mixed-language Systems
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
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
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.
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
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.
Software Development Taupe Ptidej
More Information • www.ptidej.net • www.yann-gael.gueheneuc.net
Cost of bugs http://www.di.unito.it/~damiani/ariane5rep.html
Cost of quality http://calleam.com/WTPF/?p=4914
Agenda • Short Bio. • Quality • Quality Models • Good Practices • Social Studies • Developers Studies • Impact of Quality Models • Challenges with Multi-language Systems
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
Quality • Division of software quality according to ISO/IEC 9126:2001 and 25000:2005 • Process quality • Product quality • Quality in use
Quality • Division of software quality according to ISO/IEC 9126:2001 and 25000:2005 • Process quality • Product quality • Quality in use
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
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
Quality • Definitions of internal quality characteristics • Maintainability • Flexibility • Portability • Re-usability • Readability • Testability • Understandability
Quality • Definitions of internal quality characteristics • Maintainability • Flexibility • Portability • Re-usability • Readability • Testability • Understandability
Maintainability is the ease with which a software system can be modified —IEEE Standard Glossary of Software Engineering Terminology, 2013
Metrics Quality Models Models Measures Good Practices Definition Maintainability Detection Occurrences Social Studies Characteristics Factors Developers Studies Behaviour
Metrics Quality Models Models Measures Good Practices Definition Maintainability Detection Occurrences Social Studies Characteristics Factors Developers Studies Behaviour
Quality model are models with the objective to describe, assess, and–or predict quality —Deissenboeck et al., WOSQ, 2009 (With minor adaptations)
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
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
Quality Models • Basis for quality models • Software measures (aka metrics) • Relationships among characteristics and metrics • Theoretical • Practical
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)
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
Measures without models http://hardsci.wordpress.com/2013/09/17/the-hotness-iq-tradeoff-in-academia/
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 • …