Software Architecture Metrics Hany Ammar, Mark Shereshevsky, Ali Mili, Walid Rabie and Nicholay Gradetsky Lane Department of Computer Science & Electrical.

Slides:



Advertisements
Similar presentations
Model-Based Testing with Smartesting Jean-Pierre Schoch Sogetis Second Testing Academy 29 April 2009.
Advertisements

Design of Experiments Lecture I
7M701 1 Software Engineering Object-oriented Design Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 12 )
(Some) Software Engineering Research at NJIT Sergio Bogazzi, Yao Fei Chen, GuanJie Jiang, BoYu, Ali Mili.
Unit 251 Implementation and Integration Implementation Unit Testing Integration Integration Approaches.
Software Metrics II Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
Discrete-Event Simulation: A First Course Steve Park and Larry Leemis College of William and Mary.
Software Engineering Metrics for Object Oriented Programming Developed by – Shrijit Joshi.
Introducing Some Basic Concepts Linear Theories of Waves (Vanishingly) small perturbations Particle orbits are not affected by waves. Dispersion.
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.
1 Validation and Verification of Simulation Models.
1 Jianwei Dai, Lei Wang, and Faquir Jain Department of Electrical and Computer Engineering University of Connecticut Analysis of Defect Tolerance in Molecular.
Software Process and Product Metrics
Methodology for Architectural Level Reliability Risk Analysis Lalitha Krothapalli CSC 532.
Software Architecture Risk Assessment (SARA) Tool Khader Basha Shaik Problem Report Defense Master of Science in Computer Science Lane Department of Computer.
On Roles of Models in Information Systems (Arne Sølvberg) Gustavo Carvalho 26 de Agosto de 2010.
CS527: (Advanced) Topics in Software Engineering Overview of Software Quality Assurance Tao Xie ©D. Marinov, T. Xie.
(C) 2009 J. M. Garrido1 Object Oriented Simulation with Java.
IV&V Facility 1 FY2002 Initiative: Software Architecture Metrics Hany Ammar, Mark Shereshevsky, Nicholay Gradetsky, Diaa Eldin Nassar, Walid AbdelMoez,
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 Refactoring.
VTT-STUK assessment method for safety evaluation of safety-critical computer based systems - application in BE-SECBS project.
Software System Engineering: A tutorial
Research Heaven, West Virginia 1 FY 2004 Initiative: Risk Assessment of Software Architectures Hany Ammar, Katerina Goseva-Popstojanova, Ajith Guedem,
1 Software Quality CIS 375 Bruce R. Maxim UM-Dearborn.
1 Department of Electrical and Computer Engineering University of Virginia Software Quality & Safety Assessment Using Bayesian Belief Networks Joanne Bechta.
Cluster Reliability Project ISIS Vanderbilt University.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
IV&V Facility PI: Katerina Goseva – Popstojanova Students: Sunil Kamavaram & Olaolu Adekunle Lane Department of Computer Science and Electrical Engineering.
Systems Engineering for the Transportation Critical Infrastructure The Development of a Methodology and Mathematical Model for Assessing the Impacts of.
UML Diagrams: Class Diagrams The Static Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
SOFTWARE DESIGN.
INFORMATION THEORETIC METRICS FOR SOFTWARE ARCHITECTURES Monday, March 30, 2001 Ali Mili West Virginia University.
This chapter is extracted from Sommerville’s slides. Text book chapter
Product Metrics An overview. What are metrics? “ A quantitative measure of the degree to which a system, component, or process possesses a given attribute.”
Version control – Project repository, version management capability, make facility, issue/bug tracking Change control Configuration audit – compliments.
1 Delay Tolerant Network Routing Sathya Narayanan, Ph.D. Computer Science and Information Technology Program California State University, Monterey Bay.
Modeling and simulation of systems Model building Slovak University of Technology Faculty of Material Science and Technology in Trnava.
West Virginia University Towards Practical Software Reliability Assessment for IV&V Projects B. Cukic, E. Gunel, H. Singh, V. Cortellessa Department of.
Experimentation in Computer Science (Part 1). Outline  Empirical Strategies  Measurement  Experiment Process.
IV&V Facility 1 FY 2002 Initiative IV&V of UML Hany Ammar, Katerina Goseva-Popstojanova, V. Cortelessa, Ajith Guedem, Diaa Eldin Nassar, Walid AbdelMoez,
1 West Virginia University FY2001 University SOFTWARE INITIATIVE PROPOSAL for the NASA SOFTWARE IV&V FACILITY Initiative Title: Verification & Validation.
Enabling Reuse-Based Software Development of Large-Scale Systems IEEE Transactions on Software Engineering, Volume 31, Issue 6, June 2005 Richard W. Selby,
Chap. 5 Building Valid, Credible, and Appropriately Detailed Simulation Models.
Research Heaven, West Virginia 1 FY 2004 Initiative: Risk Assessment of Software Architectures Hany Ammar, Katerina Goseva-Popstojanova, Ajith Guedem,
Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU.
Research Heaven, West Virginia FY2003 Initiative: Hany Ammar, Mark Shereshevsky, Walid AbdelMoez, Rajesh Gunnalan, and Ahmad Hassan LANE Department of.
1 Report on results of Discriminant Analysis experiment. 27 June 2002 Norman F. Schneidewind, PhD Naval Postgraduate School 2822 Racoon Trail Pebble Beach,
CSc 461/561 Information Systems Engineering Lecture 5 – Software Metrics.
Software Architecture Risk Assessment (SARA) Tool Khader Shaik, Wallid Abdelmoez, Dr. Hanny Ammar Lane Department of Computer Science and Electrical Engineering,
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 15a: Product Metrics for Software Software Engineering: A Practitioner’s Approach, 6/e Chapter.
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.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems and Models Chapter 03.
Software Engineering Issues Software Engineering Concepts System Specifications Procedural Design Object-Oriented Design System Testing.
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.
(C) J. M. Garrido1 Objects in a Simulation Model There are several objects in a simulation model The activate objects are instances of the classes that.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Building Valid, Credible & Appropriately Detailed Simulation Models
A Hierarchical Model for Object-Oriented Design Quality Assessment
OPERATING SYSTEMS CS 3502 Fall 2017
UML Diagrams: Class Diagrams The Static Analysis Model
Lecture 15: Technical Metrics
For University Use Only
Dealing with data qualitative data The main report
Software Design Mr. Manoj Kumar Kar.
Software Project Sizing and Cost Estimation
Software Risk Assessment based on UML models
Chapter 13 Quality Management
Software metrics.
Chapter 19 Technical Metrics for Software
Methodology for Architectural Level Reliability Risk Analysis
Presentation transcript:

Software Architecture Metrics Hany Ammar, Mark Shereshevsky, Ali Mili, Walid Rabie and Nicholay Gradetsky Lane Department of Computer Science & Electrical Engineering (smark, amili, rabie,

Initiative Title: Architectural Level Software Metrics '01 Architectural Level Software Metrics '01 FY2001 University SOFTWARE INITIATIVE PROPOSAL for the NASA SOFTWARE IV&V FACILITY

Outline Project Overview Hub Control Software (HCS) case study Definition of the entropy based metrics Definition of the Quantitative Factors Informational Integrity Coefficient (IIC) Conclusions (achievements) Papers submitted Work In Progress Future work (2 nd year plans)

Project Overview Developing a class of architectural metrics that quantify information flow in the architecture. Different metrics reflect: Coupling vs. cohesion; Data flow vs. control flow; Static measurement vs. dynamic measurement; Introducing a group of quantitative factors: mathematically defined functions, that are relevant with respect to qualitative attributes of the architecture Establishing analytical relationship between the metrics and the quantitative factors Automating computation of the metrics

Product Artifacts Architecture, Design, Code, External Attributes: Maintainability,Testability, Reliability, Computable Metrics: Coupling, cohesion, complexity, etc. Error Propagation, ChangePropagation, Requirements Propagation impacts computed for Analytical Definitions Mathematical Formula have Historical Data Measurement Values produce Validation Analytical Derivations Quantified McCall's model of software quality [McCall 1977], Three-level hierarchy of software attributes Project Overview

Project Overview McCall's model of software quality in UML

Hub Control Software (HCS) Case Study International Space Station

General HCS-ITCS scheme HCS ITCS SCITCS FRITCS LRITCS PPA mon PFMC LT PFMC MT Scheduler State manger CMD Queue O/P CMD Queue N3-1 Data Access RPCM N3-2 Data Access Other HCS sub-systems

HCS case study: Hierarchical Architecture

Definition of entropy based metrics n Definition 1: Coupling: The coupling from A to B, denoted Coupling(A,B), is the entropy of random variable V A  B. Cohesion: The cohesion of A is defined as coupling from A to A. Ensemble CNTL, DATA  E p is the probability distribution of E. V A  B is a random variable defined by E and p S CNTL AB DATA

HCS case study : ITCS Static Control Matrix ScitcsFritcsPfmc mtpfmc ltlritcsppa mon Scitcs Fritcs Pfmc mt1220 pfmc lt1202 lritcs ppa mon

HCS case study : HCS Static Control Matrix (LEVEL 1) itcsN3queuesrpcmschstate man itcs N Queues rpcm sch state man

Information Theoretic metrics Method of data collection Aspect of inform. exchange Static (syntactic analysis, Comprehensive statistics) Dynamic (running actual instances of the architecture) Control Entropy of set of methods, with statically computed probabilities Entropy of set of methods, with dynamically computed probabilities Data Entropy of set of parameter values, with statically computed probabilities Entropy of set of parameter values, with dynamically computed probabilities

HCS case study : ITCS Dynamic Control Matrix ScitcsFritcsPfmc mtpfmc ltlritcsppa mon Scitcs Fritcs Pfmc mt pfmc lt lritcs ppa mon

HCS case study : HCS Dynamic Control Matrix (LEVEL 1) itcsN3queuesrpcmschstate man itcs N Queues rpcm sch state man

Definition of the Quantitative Factors n Quantitative Factors bridge the gap between qualitative attributes (which we want to assess) and computable metrics (which we can measure). n Some Quantitative Factors: Error Propagation Change Propagation Requirements propagation

Definition of the Quantitative Factors: error propagation  B (x) is the state of B resulting from invoking B on input x. Suppose, due to a fault in A, the information transmitted from A to B is corrupted from the expected x to some erroneous x`.  The error propagation (EP) is a measure of the likelihood that an error in the message sent by A will propagate into B. S X AB x x` x OR Error

Definition of the Quantitative Factors: error propagation Continued n Definition 2: Error Propagation: The error propagation from A to B is defined as the following conditional probability: EP(A,B) = Prob( B (x)  B (x’) | x  x’). This equation can be reduced to: EP(A,B) = 1 – exp( – Coupling(A, B)) + exp( – Cohesion(B)).

Definition of the Quantitative Factors: error propagation Continued From the analysis of the above equation:  The higher the coupling from A to B – the higher is the error propagation from A to B.  The lower the cohesion of component B – the higher is the error propagation from A to B. These observations, consistent with intuition, provide an analytical validation of our metrics. Our equation gives these relationships (which are not surprising by themselves) precise analytical form.

Informational Integrity Coefficient (IIC) n One of architecture quality guidelines is to maximize cohesion and minimize coupling of components. n We introduce a quantitative characteristic, which we call the informational integrity coefficient of an architecture which assesses its conformance to this guideline. n The coefficient is computed based on the information flow matrix. IIC =

HCS case study : HCS-ITCS (flattened) Static Control Matrix IIC = 0.749

HCS case study : ITCS Static Control Matrix ScitcsFritcsPfmc mtpfmc ltlritcsppa mon Scitcs Fritcs Pfmc mt1220 pfmc lt1202 lritcs ppa mon IIC = 0.795

HCS case study : HCS Static Control Matrix (LEVEL 1) itcsN3queuesrpcmschstate man itcs N Queues rpcm sch state man IIC = 0.861

IIC = HCS case study : HCS-ITCS (flattened) Dynamic Control Matrix

HCS case study : ITCS Dynamic Control Matrix ScitcsFritcsPfmc mtpfmc ltlritcsppa mon Scitcs Fritcs Pfmc mt pfmc lt lritcs ppa mon IIC = 0.884

HCS case study : HCS Dynamic Control Matrix (LEVEL 1) itcsN3queuesrpcmschstate man itcs N Queues rpcm sch state man IIC = 0.887

HCS case study : IIC Comparison Flattened Architecture Vs Hierarchical Architecture ArchitectureStaticDynamic HCS-ITCS (flattened) HCS_ITCS (Level 1) ITCS (Level 0) N3 (Level 0)11 Queues (Level 0)11 n The flattened architecture shows a lower IIC than the hierarchical architecture, this proves that the hierarchical architecture is more cohesive and less coupled

Conclusions (achievements) We defined coupling and cohesion metrics for hierarchical architectures based on the information theory. We introduced a normalized measure, the informational integrity coefficient (IIC) of an architecture based on the computed metrics We derived the relationship between the coupling/cohesion metrics and the error propagation factor between components.

Papers submitted Conferences Annual International Computer Software and Applications Conference (COMPSAC 2001) Title: "Information-Theoretic Metrics for Software Architectures“ – Status: Accepted for publication Automated Software Engineering Conference (ASE 2001) Title: "Quantifying Architectural Attributes of UML Specifications: A Framework and Its Automation" – Status: Submitted June 29, 2001 Journals Automated Software Engineering Journal Title: "Quantifying Software Architectures: Definitions and Automation Plans“ – Status: submitted: May 11, 2001 Transactions on Software Engineering Journal Title: "Information Theoretic Metrics for Software Architectures" – Status: submitted: April, 2001

Future Work Deriving a relationship between our coupling/cohesion metrics and the change propagation, Developing an automation methodology for computing the metrics given a UML description of the architecture, Validating the metrics using a NASA CASE Study

Canonical Architectural Style Automation support for metrics computation Software System Conceptual view (RoseRT-UML) Static Metrics Quantitative factors (EP, CP) In progress Planned Has a view Other views (UML, Rapide) Dynamic Metrics Transformation Information Integrity Coefficient