An Approach to Measure Java Code Quality in Reuse Environment Master: Aline Timóteo Professor: Silvio Meira UFPE – Federal University.

Slides:



Advertisements
Similar presentations
Metrics for OO Design Distinct & measurable characteristics of OO design:- Size:-it is defined as – population,volume,length & functionality Population.
Advertisements

CSE298 CSE300 Overview of Presentation Reuse Background Reuse Background Development Process Development Process Component-Based Development Component-Based.
MetriCon 2.0 Correlating Automated Static Analysis Alert Density to Reported Vulnerabilities in Sendmail Michael Gegick, Laurie Williams North Carolina.
1 ECE 453 – CS 447 – SE 465 Software Testing & Quality Assurance Case Studies Instructor Paulo Alencar.
Prediction of fault-proneness at early phase in object-oriented development Toshihiro Kamiya †, Shinji Kusumoto † and Katsuro Inoue †‡ † Osaka University.
Object-Oriented Analysis and Design
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Page 1 Building Reliable Component-based Systems Chapter 7 - Role-Based Component Engineering Chapter 7 Role-Based Component Engineering.
7M701 1 Software Engineering Object-oriented Design Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 12 )
1 Software Testing and Quality Assurance Lecture 10 - The Testing Perspective (Chapter 2, A Practical Guide to Testing Object-Oriented Software)
Empirical Validation of OO Metrics in Two Different Iterative Software Processes Mohammad Alshayeb Information and Computer Science Department King Fahd.
RiSE Project: Towards a Robust Framework for Software Reuse Student: Eduardo Santana de Almeida Advisor: Silvio Romero de Lemos Meira Federal University.
Systems Analysis & Design Sixth Edition Systems Analysis & Design Sixth Edition Toolkit Part 5.
An Approach to Measure Java Code Quality in Reuse Environment Aline Timóteo Advisor: Silvio Meira Co-advisor: Eduardo Almeida UFPE.
1 Object-Oriented Metrics Renaat Verbruggen School of Computing, Dublin City University.
Eduardo Santana de Almeida, Alexandre Alvaro, Daniel Lucrédio, Antonio Francisco do Prado, Luis Carlos Trevelin Federal University of Pernambuco, Federal.
ORION - A Component-Based Software Engineering Environment
Software Metrics *** state of the art, weak points and possible improvements Gordana Rakić, Zoran Budimac Department of Mathematics and Informatics, Faculty.
Chidamber & Kemerer Suite of Metrics
Quality Assurance for Component- Based Software Development Cai Xia (Mphil Term1) Supervisor: Prof. Michael R. Lyu 5 May, 2000.
BCS 2143 Introduction to Object Oriented and Software Development.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers Unit 11 Slide 1 Chapter 1 The Systems Development Environment.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 Refactoring.
A Systematic Mapping Study on Software Engineering Testbeds Emanoel Barreiros Advisor: Sérgio Soares.
Software Quality Improvements from Removing Code Smells Wes J. Lloyd July 15, 2008 Computer Science Department Colorado State University Dr. Sudipto Ghosh,
Paradigm Independent Software Complexity Metrics Dr. Zoltán Porkoláb Department of Programming Languages and Compilers Eötvös Loránd University, Faculty.
Project Coordinators: Eduardo Santana de Almeida Silvio Romero de Lemos Meira Federal University of Pernambuco Informatics Center Recife Center for Advanced.
An Approach to Measure Java Code Quality in Reuse Environment Aline Timóteo Advisor: Silvio Meira UFPE – Federal University of Pernambuco
Introduction To Software Component Reuse
Software Engineering EKT 420 MOHAMED ELSHAIKH KKF 8A – room 4.
Product Metrics An overview. What are metrics? “ A quantitative measure of the degree to which a system, component, or process possesses a given attribute.”
The CK Metrics Suite. Weighted Methods Per Class b To use this metric, the software engineer must repeat this process n times, where n is the number of.
1 OO Metrics-Sept2001 Principal Components of Orthogonal Object-Oriented Metrics Victor Laing SRS Information Services Software Assurance Technology Center.
On the Modularity Assessment of Aspect- Oriented Multi-Agent Systems Product Lines: a Quantitative Study Camila Nunes
Software Engineering Research Group, Graduate School of Engineering Science, Osaka University 1 Evaluation of a Business Application Framework Using Complexity.
Software Engineering 2 Software Testing Claire Lohr pp 413 Presented By: Feras Batarseh.
Investigating a Semantic Metrics Suite for Object-Oriented Design Dr. Letha Etzkorn (PI) Ms. Cara Stein Dr. Glenn Cox Dr. Sampson Gholston Dr. Dawn Utley.
Systems Analysis & Design 7 th Edition Chapter 5.
1 The Modular Structure of Complex Systems Presented by: SeyedMasoud Sadjadi and Wei Zhu David L. Parnas, Paul C. Clement, and David M. Weiss ICSE 1984.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Towards an Experience Management System at Fraunhofer Center for Experimental Software Engineering Maryland (FC-MD)
Software Quality Improvements from Refactoring Wes J. Lloyd July 15, 2008 Computer Science Department Colorado State University Dr. Sudipto Ghosh, co-advisor.
1 Metrics and lessons learned for OO projects Kan Ch 12 Steve Chenoweth, RHIT Above – New chapter, same Halstead. He also predicted various other project.
RiSE Project: Towards a Robust Framework for Software Reuse Eduardo Santana de Almeida Federal University of Pernambuco, Brazil
CSc 461/561 Information Systems Engineering Lecture 5 – Software Metrics.
Java EE Patterns Dan Bugariu.  What is Java EE ?  What is a Pattern ?
West Virginia University Sherif Yacoub, Hany H. Ammar, and Ali Mili A UML Model for Analyzing Software Quality Sherif Yacoub, Hany H. Ammar, and Ali Mili.
Ontology Support for Abstraction Layer Modularization Hyun Cho, Jeff Gray Department of Computer Science University of Alabama
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
An Approach to Measure Java Code Quality in Reuse Environment Author: Aline Timóteo Professor: Silvio Meira UFPE – Federal University.
Software Engineering Object Oriented Metrics. Objectives 1.To describe the distinguishing characteristics of Object-Oriented Metrics. 2.To introduce metrics.
COP 4331 – OOD&P Lecture 7 Object Concepts. What is an Object Programming language definition: An instance of a class Design perspective is different.
1 Week 7 Software Engineering Spring Term 2016 Marymount University School of Business Administration Professor Suydam.
Architecting Complexity HOW UNDERSTANDING COMPLEXITY PROMOTES SIMPLICITY.
ORION - A Component-Based Software Engineering Environment
School of Business Administration
A Hierarchical Model for Object-Oriented Design Quality Assessment
Assessment of Geant4 Software Quality
Course Notes Set 12: Object-Oriented Metrics
Chapter ? Quality Assessment
Investigating a Semantic Metrics Suite for Object-Oriented Design
Software Engineering Design
Object-Oriented Metrics
Design Metrics Software Engineering Fall 2003
Design Metrics Software Engineering Fall 2003
Lorenz and Kidd Operation-Oriented Metrics Suite
Predicting Fault-Prone Modules Based on Metrics Transitions
Presented by Trey Brumley and Ryan Carter
Software Process Adaptation
ORION - A Component-Based Software Engineering Environment
Presentation transcript:

An Approach to Measure Java Code Quality in Reuse Environment Master: Aline Timóteo Professor: Silvio Meira UFPE – Federal University of Pernambuco

Summary Motivation Background  Quality in a Reuse Environment  Metrics An Approach to Measure Java Code Quality Main Contributions

Motivation

Motivation Reuse environment [Frakes, 1994]  Process  Metrics  Assets  Tools

Motivation Component Repository promote reuse success [Griss, 1994] Search Engine[Garcia, 2006]  Analyze a set of Search Engines  Requirements Artifact filtering

Problem Artifacts quality  In search time?  How to eliminate low-quality artifacts? In other words… How to eliminate low-quality artifacts in search time?

Background

Quality in a Reuse Environment [Etzkorn, 2001] ISO 9126

Metrics “Software metrics is a method to quantify attributes in software processes, products and projects” [Daskalantonakis, 1992] Metrics Timeline  Age 1: before 1991, where the main focus was on metrics based on the code complexity  Age 2: after 1992, where the main focus was on metrics based on the concepts of Object Oriented (OO) systems

Age 1: Complexity Age 2: Object Oriented

Most Referenced Metrics LOC Cyclomatic Complexity [McCabe, 1976] Chidamber and Kemerer Metrics [Chidamber, 1994] Lorenz and Kidd Metrics [Lorenz, 1994] MOOD Metrics [Brito, 1994]

Problems related to Metrics [Ince, 1988 and Briand, 2002] Metrics Validation  Measurement goal  Experimental hypothesis  Environment or context  Theoretical Validation  Empirical validation Metrics Automation  Different set of metrics implemented  Bad documentation  Quality attributes x Metrics

An Approach to Measure Java Code Quality

An Approach to Measure Java Code Quality Quality Attributes x Metrics Metrics Selection and Specification Quality Attributes measurement

Quality Attributes x Metrics Quality Attributes Code Attributes LOC Cyclomatic Complexity CK Metrics WMCDITNOCCBORFCLCOM sizex Analysabilitycomplexty xxx XX documentationx complexity xxx XX modularity/ encapsulation X Changeabilitycoupling x X cohesion X inheritance x Stability Testabilitycomplexity xxx XX coupling x X complexidade xxx Xx documentationx Reusability modularity/ encapsulation x coupling X x cohesion x

Quality Attributes x Metrics Quality Attributes Code Attributes Lorenz and Kidd PIMNIMNIVNCMNCVNMONMINMASIXAPPM Analysability sizexxxxx complexty documentation Changeability complexity modularity/ encapsulation coupling cohesion inheritance xxxx Stability Testability complexity coupling Reusability complexidade documentation modularity/ encapsulation coupling cohesion

Quality Attributes x Metrics Quality AttributesCode Attributes MOOD Metrics MHFAHFMIFAIFPF Analysability size complexty documentation Changeability complexity modularity/ encapsulation coupling cohesion inheritance xx Stability Testability complexity coupling Reusability complexity documentation modularity/ encapsulation coupling cohesion

Metrics Selection and Specification - Theoretical Validation - Empirical Validation - Tools -LOC -Cyclomatic Complexity - CK Metrics

Metrics Selection and Specification Response for a Class Definition Short nameRFC Description The response set of a class is a set of methods that can potentially be executed in response to a message received by an object of that class. Calculated by RFC = M + R M = number of methods in the class R = number of remote methods directly called by methods of the class Allowable valueRFC<=50 PrivateNo Analysis PresentationN/A Range of analysisWhen the development cycle is done Analysis procedureIdentify how classes have a highest responsibility ResponsibleMetrics Analyst

Quality Attributes Measurement (QAM) QAM = (the number of metrics that have a allowable value) QAM >= Number of metrics /2 Example: 2,5 <= QAM <= 5 Quality Attribute Code Attribute CK Metrics WMCDITCBORFCLCOM Testability complexityxx xx coupling x x

Contributions Introduce quality analysis in a search engine  Store assets and their quality attributes  In the search time the asset is recovered according quality attribute values Quality attributes x Code metrics  ISO 9126

Current Stage Sate-of-the-art in Software Metrics Approach definition Prototypal Implementation (partial) Integration with B.A.R.T. (next step) Experiment (next step)

Referências [Frakes, 1994] W. B. Frakes and S. Isoda, "Success Factors of Systematic Software Reuse," IEEE Software, vol. 11, pp , [Griss, 1994] M. L. Griss, "Software Reuse Experience at Hewlett-Packard," presented at 16th International Conference on Software Engineering (ICSE), Sorrento, Italy, [Garcia, 2006] V. C. Garcia, D. Lucrédio, F. A. Durão, E. C. R. Santos, E. S. Almeida, R. P. M. Fortes, and S. R. L. Meira, "From Specification to Experimentation: A Software Component Search Engine Architecture," presented at The 9th International Symposium on Component-Based Software Engineering (CBSE 2006), Mälardalen University, Västerås, Sweden, [Etzkorn, 2001] Letha H. Etzkorn, William E. Hughes Jr., Carl G. Davis: Automated reusability quality analysis of OO legacy software. Information & Software Technology 43(5): (2001) [Daskalantonakis, 1992] M. K. Daskalantonakis, “A Pratical View of Software Measurement and Implementation Experiences Within Motorola”, IEEE Transactions on Software Engineering, vol 18, 1992, pp. 998–1010. [McCabe, 1976] T. J. McCabe, “A Complexity Measure”. IEEE Transactions of Software Engineering, vol SE-2, 1976, pp [Chidamber, 1994] S. R. Chidamber, C. F. Kemerer, “A Metrics Suite for Object Oriented Design”, IEEE Transactions on Software Engineering, vol 20, Piscataway - USA, 1994, pp [Lorenz, 1994] M. Lorenz, J. Kidd, “Object-Oriented Software Metrics: A Practical Guide”, Englewood Cliffs, New Jersey - USA, [Brito, 1994] A. F. Brito, R. Carapuça, "Object-Oriented Software Engineering: Measuring and controlling the development process", 4th Interntional Conference on Software Quality, USA, [Ince, 1988] D. C. Ince, M. J. Sheppard, "System design metrics: a review and perspective", Second IEE/BCS Conference, Liverpool - UK, 1988, pp [Briand, 2002] L. C. Briand, S. Morasca, V. R. Basili, “An Operational Process for Goal-Driven Definition of Measures”, Software Engineering - IEEE Transactions, vol 28, 2002, pp [Morasca, 1989] S. Morasca, L. C. Briand, V. R. Basili, E. J. Weyuker, M. V. Zelkowitz, B. Kitchenham, S. Lawrence Pfleeger, N. Fenton, "Towards a framework for software measurementvalidation", Software Engineering, IEEE Transactions, vol 23, 1995, pp

Aline Timóteo UFPE – Federal University of Pernambuco