ISEC 2018 Hyderabad India 11 th Innovations in
ISEC 2018, Hyderabad, India 11 th 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 S Tiwari and S S Rathore Coupling and Cohesion Metrics for Object-Oriented Software: A Systematic Mapping Study
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 S Tiwari and S S Rathore Coupling and Cohesion Metrics for Object-Oriented Software: A Systematic Mapping Study 2
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. S Tiwari and S S Rathore Coupling and Cohesion Metrics for Object-Oriented Software: A Systematic Mapping Study 3
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 S Tiwari and S S Rathore Coupling and Cohesion Metrics for Object-Oriented Software: A Systematic Mapping Study 4
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. S Tiwari and S S Rathore Coupling and Cohesion Metrics for Object-Oriented Software: A Systematic Mapping Study 5
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. S Tiwari and S S Rathore Coupling and Cohesion Metrics for Object-Oriented Software: A Systematic Mapping Study 6
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: – RQ 1: What have been the coupling and cohesion metrics proposed and how have they evolved? – RQ 2: What are the existing studies focused on assessing the quality of coupling and cohesion metrics? – RQ 3: What types of research are represented for coupling and cohesion metrics and to what extent? – RQ 4: What are the potential areas in which coupling and cohesion metrics applied and to what extent? 1. 2. 3. 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, Shahid Mujtaba, and Michael Mattsson. 2008. Systematic Mapping Studies in Software Engineering. In Proceedings of the 12 th International Conference on Evaluation and Assessment in Software Engineering (EASE’ 08). BCS Learning & Development Ltd. , Swindon, UK, 68– 77. Kai Petersen, Sairam Vakkalanka, and Ludwik Kuzniarz. 2015. Guidelines for conducting systematic mapping studies in software engineering: An update. Information and Software Technology 64, Supplement C (2015), 1 – 18. S Tiwari and S S Rathore Coupling and Cohesion Metrics for Object-Oriented Software: A Systematic Mapping Study 7
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 keywordbased search. Primary Studies S Tiwari and S S Rathore Coupling and Cohesion Metrics for Object-Oriented Software: A Systematic Mapping Study 8
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. S Tiwari and S S Rathore Coupling and Cohesion Metrics for Object-Oriented Software: A Systematic Mapping Study 9
Study Selection S Tiwari and S S Rathore Coupling and Cohesion Metrics for Object-Oriented Software: A Systematic Mapping Study 10
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 method 1, 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 method 1, 2: – (i) reusability, (ii) maintainability, (iii) software fault prediction, (iv) reliability, and (v) changeability. 1. 2. 3. Kai Petersen, Robert Feldt, Shahid Mujtaba, and Michael Mattsson. 2008. Systematic Mapping Studies in Software Engineering. In Proceedings of the 12 th International Conference on Evaluation and Assessment in Software Engineering (EASE’ 08). BCS Learning & Development Ltd. , Swindon, UK, 68– 77. Kai Petersen, Sairam Vakkalanka, and Ludwik Kuzniarz. 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. S Tiwari and S S Rathore Coupling and Cohesion Metrics for Object-Oriented Software: A Systematic Mapping Study 11
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 S Tiwari and S S Rathore Coupling and Cohesion Metrics for Object-Oriented Software: A Systematic Mapping Study 12
Mapping – Evolution of Metrics: RQ 1 S Tiwari and S S Rathore Coupling and Cohesion Metrics for Object-Oriented Software: A Systematic Mapping Study 13
Research Focus & Contribution Type: RQ 2 S Tiwari and S S Rathore Coupling and Cohesion Metrics for Object-Oriented Software: A Systematic Mapping Study 14
Research Type: RQ 3 S Tiwari and S S Rathore Coupling and Cohesion Metrics for Object-Oriented Software: A Systematic Mapping Study 15
Context Focus: RQ 4 S Tiwari and S S Rathore Coupling and Cohesion Metrics for Object-Oriented Software: A Systematic Mapping Study 16
Results & Discussions • RQ 1: 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. • RQ 2: 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. S Tiwari and S S Rathore Coupling and Cohesion Metrics for Object-Oriented Software: A Systematic Mapping Study 17
Results & Discussions… • RQ 3: 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. • RQ 4: 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. S Tiwari and S S Rathore Coupling and Cohesion Metrics for Object-Oriented Software: A Systematic Mapping Study 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. S Tiwari and S S Rathore Coupling and Cohesion Metrics for Object-Oriented Software: A Systematic Mapping Study 19
References 1. 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. 2. S. S. Rathore and A. Gupta. 2012. Validating the Effectiveness of Object-Oriented Metrics over Multiple Releases for Predicting Fault Proneness. In 2012 19 th Asia- Pacific Software Engineering Conference, Vol. 1. 350– 355. 3. Santosh S. Rathore and Sandeep Kumar. 2017. A study on software fault prediction techniques. Artificial Intelligence Review (30 May 2017). 4. 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. 5. 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. 6. 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. 7. Touseef Tahir, Ghulam Rasool, and Cigdem Gencel. 2016. A systematic literature review on software measurement programs. Information and Software Technology 73 (2016), 101– 121. 8. 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. 9. 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 10 th Innovations in Software Engineering Conference (ISEC ’ 17). ACM, 4– 14. 10. 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. 11. Andrian Marcus and Denys Poshyvanyk. 2005. The Conceptual Cohesion of Classes. In Proceedings of the 21 st IEEE International Conference on Software Maintenance (ICSM ’ 05). IEEE Computer Society, Washington, DC, USA, 133– 142. S Tiwari and S S Rathore Coupling and Cohesion Metrics for Object-Oriented Software: A Systematic Mapping Study 20
Thank you for your attention! <Questions? S Tiwari and S S Rathore Coupling and Cohesion Metrics for Object-Oriented Software: A Systematic Mapping Study
- Slides: 21