210 likes | 219 Views
This presentation provides an overview of a systematic mapping study on the popular coupling and cohesion metrics for measuring software quality in object-oriented software engineering. The study examines the evolution of these metrics, their applicability in practice, and the types of research focused on assessing them.
E N D
ISEC 2018, Hyderabad, India 11th Innovations in Software Engineering Conference (ISEC 2018) Feb 9-11, IIIT Hyderabad, India Coupling and Cohesion Metrics for Object-Oriented Software: A Systematic Mapping Study Saurabh Tiwari and Santosh Singh Rathore
Presentation: Overview • Introduction • Background: the topic of the review, previous studies • Research Methodology • Research Questions • Systematic Mapping (Search, Inclusion/Exclusion, Selection) • Classification Schemes • Mapping Results for each RQs • Conclusions • References
Introduction • Coupling and Cohesion are two fundamental concepts used to design modular Object-Oriented (OO) software. • They have a significant impact on various software development and quality assurance activities • such as fault prediction, program comprehension, impact analysis, design patterns, maintenance, change proneness, and reusability. • A systematic mapping study is presented to identify the popular coupling and cohesion metrics, and their applicability in practice. • A total of 137 papers were studied and classified into four different classes- evolution of coupling and cohesion metrics, research type, contribution, and context focus.
Background & Motivation • The most popular OO metrics suite is C&K metrics suite proposed in 1991, and later modified in 1994. • After C& K Metrics, other researchers have also proposed different OO metrics suites. Classification of software metrics
Background & Motivation • There are several issues are associate with these metrics- • Issues in applying them in practice. • lack of proper empirical validation of these metrics. • Ambiguous results have often been reported across different studies. • Performance of metrics has also been varied when different environments or methods used.
Background & Motivation… • Several efforts have been made to improve the quality of existing metrics. • Some extensions and new metrics sets have been proposed to provide the completeness. • These efforts have resulted in a large number of OO metrics suites of which currently there exists no comprehensive overview. • more studies are needed to establish the practical significance of these metrics. • Our aim is to examine the existing literature on coupling and cohesion metrics to identify • how these metrics have evolved • existing studies focused on assessing these metrics • types of research presented • their applicability in different contexts and purposes.
Research Methodology - RQs • We have adopted methodology for conducting a systematic mapping study recommended by Bailey et al.1 and Petersen et al.2,3. • The study Research Questions (RQs) are: • RQ1: What have been the coupling and cohesion metrics proposed and how have they evolved? • RQ2: What are the existing studies focused on assessing the quality of coupling and cohesion metrics? • RQ3: What types of research are represented for coupling and cohesion metrics and to what extent? • RQ4: What are the potential areas in which coupling and cohesion metrics applied and to what extent? • J. Bailey, D. Budgen, M. Turner, B. Kitchenham, P. Brereton, and S. Linkman. 2007. Evidence relating to Object-Oriented software design: A survey. In First International Symposium on Empirical Software Engineering and Measurement (ESEM 2007). 482–484. • Kai Petersen, Robert Feldt, ShahidMujtaba, and Michael Mattsson. 2008. Systematic Mapping Studies in Software Engineering. In Proceedings of the 12th International Conference on Evaluation and Assessment in Software Engineering (EASE’08). BCS Learning & Development Ltd., Swindon, UK, 68–77. • Kai Petersen, SairamVakkalanka, and LudwikKuzniarz. 2015. Guidelines for conducting systematic mapping studies in software engineering: An update. Information and Software Technology 64, Supplement C (2015), 1 – 18.
Search Strategy • The search strategy includes identification of the search terms, literature resources, and an effective search process. • Initial search process results in identification of search terms (both general and specific terms) to be used for automated keyword-based search. Primary Studies
Inclusion/Exclusion Criteria • Inclusion Criteria: • All papers published in English language. • Publications focused on showing the evolution of coupling and cohesion metrics for measuring software quality parameters. • All published peer-reviewed papers, potential of answering at least one RQ. • Publications that make use of coupling and cohesion metrics to perform the software quality assessment (e.g., reusability, maintainability, fault prediction, reliability, and changeability). • Exclusion Criteria: • Papers that do not have any link with the research questions. • Publications only provide object-oriented metrics without discussing their relevance for measuring software quality. • All non-peer reviewed publications (e.g., prefaces, interviews, reviews, panel discussions, tutorial summaries, article summaries, etc.). • Duplicate papers • Publications proposing new coupling and cohesion metrics and not empirically validating them are discarded. • Paper should not be the replication of another study.
Classification Schemes • Studies were classified into four different classes: evolution of metrics, type of contribution, research type, context focus. • Evolution of coupling and cohesion metrics class: keyword method1, 2 • (i) Coupling metrics, (ii) Cohesion metrics, (iii) Both coupling and cohesion metrics, and (iv) Evolution of metrics. • Contribution type is divided into two different categories: • (i) tool support, and (ii) new metrics. • Research type is sub-divided based on a scheme by Wieringa et al.3: • (i) validation research, (ii) evaluation research, (iii) solution proposals, (iv) conceptual proposals, (v) opinion papers, and (vi) experience papers. • Context focus is identified through the keyword-based method1,2: • (i) reusability, (ii) maintainability, (iii) software fault prediction, (iv) reliability, and (v) changeability. • Kai Petersen, Robert Feldt, ShahidMujtaba, and Michael Mattsson. 2008. Systematic Mapping Studies in Software Engineering. In Proceedings of the 12th International Conference on Evaluation and Assessment in Software Engineering (EASE’08). BCS Learning & Development Ltd., Swindon, UK, 68–77. • Kai Petersen, SairamVakkalanka, and LudwikKuzniarz. 2015. Guidelines for conducting systematic mapping studies in software engineering: An update. Information and Software Technology 64, Supplement C (2015), 1 – 18. • Roel Wieringa, Neil Maiden, Nancy Mead, and Colette Rolland. 2005. Requirements Engineering Paper Classification and Evaluation Criteria: A Proposal and a Discussion. Requir. Eng. 11, 1 (Dec. 2005), 102–107.
Mapping Map of research focus on coupling and cohesion metrics. Research focus on the Y-axis; contribution type on the left side of the X-axis; and research type on the right side of the X-axis
Results & Discussions • RQ1: Lots of efforts have been made earlier to propose different metrics suites for coupling and cohesion metrics. • Starting from C&K, Wei Li, and MOOD metrics suites, several other coupling and cohesion metrics were proposed to predict different software quality parameters in object-oriented software systems. • Recently, the research was focused on identifying the context of each metrics suite and simultaneously updating suites with new metrics. • RQ2: The research community has mainly focused on the evaluation of coupling and cohesion metrics for their contextual usage (51%). • Our mapping study found that a large part of the existing publications focused on proposing and evaluating both coupling and cohesion metrics with emphasis on the coupling metrics. • Some of the publications also focused on the evolution of already available coupling and cohesion metrics. 17
Results & Discussions… • RQ3: 73% of the total available publications were of evaluation research type and 19% of the publications reported on conceptual proposals. • No study has been identified under solution proposal research type. • RQ4: The results of the mapping study showed that coupling and cohesion metrics were highly validated and evaluated for • software fault/defect prediction (19%). • changeability prediction (18%) • maintainability prediction (18%) • reusability prediction (14%) • reliability prediction (11%) • Use of the coupling and cohesion metrics for other software quality parameters is limited in the literature. • One of the impediment in applying coupling and cohesion metrics effectively in software quality measurement or prediction is the limited availability of tool support to calculate these metrics. 18
Conclusions and Future Work • A total of 137 studies has been identified, which showed the picture of research needs and challenges in the area of coupling and cohesion metrics. • Our study revealed that a lot of efforts has been made to propose and evaluate quality and applicability of coupling and cohesion metrics for different software quality parameters. • However, the context of each metrics suite and their relevance in given context need to be investigated further to establish the usefulness of these metrics. • The research on the coupling and cohesion metrics mostly focused on evaluation research and conceptual proposals. • A limited number of studies have been proposed on validation research and experience papers, hence needs researchers’ attention to get a new perspective. • Further, an understanding of trade-off between the coupling and cohesion metrics is an important issue that needs to be investigated. 19
References Letha H Etzkorn, Sampson E Gholston, Julie L Fortune, Cara E Stein, Dawn Utley, Phillip A Farrington, and Glenn W Cox. 2004. A comparison of cohesion metrics for object-oriented systems. Information and Software Technology 46, 10 (2004), 677 – 687. S. S. Rathore and A. Gupta. 2012. Validating the Effectiveness of Object-Oriented Metrics over Multiple Releases for Predicting Fault Proneness. In 2012 19th Asia- Pacific Software Engineering Conference, Vol. 1. 350–355. Santosh S. Rathore and Sandeep Kumar. 2017. A study on software fault prediction techniques. Artificial Intelligence Review (30 May 2017). Bassey Isong and Ekabua Obeten. 2013. A Systematic Review of the Empirical Validation of Object-oriented Metrics towards Fault-proneness Prediction. International Journal of Software Engineering and Knowledge Engineering 23, 10 (2013), 1513–1540. Martin Ivarsson and Tony Gorschek. 2009. Technology transfer decision support in requirements engineering research: a systematic review of REj. Requirements Engineering 14, 3 (01 Jul 2009), 155–175. Danijel Radjenović, Marjan Heričko, Richard Torkar, and Aleš Živkovič. 2013. Software fault prediction metrics: A systematic literature review. Information and Software Technology 55, 8 (2013), 1397–1418. Touseef Tahir, Ghulam Rasool, and Cigdem Gencel. 2016. A systematic literature review on software measurement programs. Information and Software Technology 73 (2016), 101–121. Saurabh Tiwari and Atul Gupta. 2015. A systematic literature review of use case specifications research. Information and Software Technology 67, Supplement C(2015), 128 – 158. Lov Kumar, Santanu Kumar Rath, and Ashish Sureka. 2017. Empirical Analysis on Effectiveness of Source Code Metrics for Predicting Change-Proneness. In Proceedings of the 10th Innovations in Software Engineering Conference (ISEC ’17). ACM, 4–14. Rüdiger Lincke, Jonas Lundberg, and Welf Löwe. 2008. Comparing Software Metrics Tools. In Proceedings of the 2008 International Symposium on Software Testing and Analysis (ISSTA ’08). ACM, New York, NY, USA, 131–142. Andrian Marcus and Denys Poshyvanyk. 2005. The Conceptual Cohesion of Classes. In Proceedings of the 21st IEEE International Conference on Software Maintenance (ICSM ’05). IEEE Computer Society, Washington, DC, USA, 133– 142. 20
Thank you for your attention! • Questions?