Information Flow Metric

Slides:



Advertisements
Similar presentations
Control Flow Analysis. Construct representations for the structure of flow-of-control of programs Control flow graphs represent the structure of flow-of-control.
Advertisements

Software Metrics Software Engineering.
Chapter 13 Design Concepts and Principles
David Woo (dxw07u).  What is “White Box Testing”  Data Processing and Calculation Correctness Tests  Correctness Tests:  Path Coverage  Line Coverage.
March 25, R. McFadyen1 Metrics Fan-in/fan-out Lines of code Cyclomatic complexity Comment percentage Length of identifiers Depth of conditional.
Nov R. McFadyen1 Metrics Fan-in/fan-out Lines of code Cyclomatic complexity* Comment percentage Length of identifiers Depth of conditional.
Developed by Reneta Barneva, SUNY Fredonia Product Metrics for Software.
Reverse Engineering: Legacy Systems Alexander Endert.
Software Metrics II Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
LAN Performance From Stallings text on LANs. CSMA/CD What is the maximum utilization possible for n nodes?
Tentative Schedule 20/12 Interpreter+ Code Generation 27/12 Code Generation for Control Flow 3/1 Activation Records 10/1 Program Analysis 17/1 Register.
March R. McFadyen1 Software Metrics Software metrics help evaluate development and testing efforts needed, understandability, maintainability.
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 Complexity metrics  measure certain aspects of the software (lines of code, # of if-statements, depth of nesting, …)  use these numbers as a criterion.
PVK-Ht061 Contents Introduction Requirements Engineering Project Management Software Design Detailed Design and Coding Quality Assurance Maintenance.
Chapter 9: Software Metrics
Cyclomatic Complexity Dan Fleck Fall 2009 Dan Fleck Fall 2009.
CS223 Advanced Data Structures and Algorithms 1 The Bellman-Ford Shortest Path Algorithm Neil Tang 03/11/2010.
Module 5 – Networks and Decision Mathematics Chapter 24 – Directed Graphs.
1 Software Quality CIS 375 Bruce R. Maxim UM-Dearborn.
SWEN 5430 Software Metrics Slide 1 Quality Management u Managing the quality of the software process and products using Software Metrics.
1Software Measurement Advanced Software Engineering COM360 University of Sunderland © 2001.
Agenda Introduction Overview of White-box testing Basis path testing
Software Metrics (Part II). Product Metrics  Product metrics are generally concerned with the structure of the source code (example LOC).  Product metrics.
Software Quality Metrics
Concepts of Software Quality Yonglei Tao 1. Software Quality Attributes  Reliability  correctness, completeness, consistency, robustness  Testability.
Chapter 12: Design Phase n 12.1 Design and Abstraction n 12.2 Action-Oriented Design n 12.3 Data Flow Analysis n Data Flow Analysis Example n
CSE 8313 Spr 2003 M. DiazFundamentals of OO Design in UML/Page-Jones1 Object Oriented Principles – Chapter 8 Encapsulation and Connascence Encapsulation.
Creator: ACSession No: 7 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringSeptember 2005 Software Measurement – Estimation and Productivity CSE300.
CSc 461/561 Information Systems Engineering Lecture 5 – Software Metrics.
Software Metrics.
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.
Agent program is the one part(class)of Othello program. How many test cases do you have to test? Reversi [Othello]
11 Software Design CSCU 411 Software Engineering.
Metrics "A science is as mature as its measurement tools."
Review for the Final Exam CSCI Software Project Management.
White Box Testing by : Andika Bayu H.
Cyclomatic complexity (or conditional complexity) is a software metric (measurement). Its gives the number of indepented paths through strongly connected.
Graphs Definition: a graph is an abstract representation of a set of objects where some pairs of the objects are connected by links. The interconnected.
Facility Location and Network Design Models. Facility Location Assumptions Based on graph G=(V,E) Demand nodes, I  V, are known and fixed Set J  V of.
1 Week 7 Software Engineering Spring Term 2016 Marymount University School of Business Administration Professor Suydam.
A Discourse on Complexity of Process Models J. CardosoUniversidade da Madeira J. MendlingVienna University of Economics G. NeumannVienna University of.
Object Oriented Systems Design
School of Business Administration
Metrics of Software Quality
Coupling and Cohesion Rajni Bhalla.
Software Metrics 1.
Course Notes Set 12: Object-Oriented Metrics
Cyclomatic complexity
Design Characteristics and Metrics
Integration Testing This is the step after the individual pieces of code or modules (programs) are tested. A set of programs do not exist in vacuum. They.
CPSC 873 John D. McGregor GQM.
Functions CIS 40 – Introduction to Programming in Python
Graph Coverage for Design Elements CS 4501 / 6501 Software Testing
Lecture 17 Software Metrics
Cohesion and Coupling Chapter 5, Pfleeger 01/01/10.
CS223: Software Engineering
Halstead software science measures and other metrics for source code
Different Levels of Testing
Graph Coverage for Design Elements CS 4501 / 6501 Software Testing
Presented by Trey Brumley and Ryan Carter
Software Metrics SAD ::: Fall 2015 Sabbir Muhammad Saleh.
The Bellman-Ford Shortest Path Algorithm Neil Tang 03/27/2008
Software Metrics using EiffelStudio
Five Guidelines for Robust Reusable Code
1. Cyclomatic complexity
Line Graphs.
Chapter 8: Design: Characteristics and Metrics
Օրենսդրական բացերը ընդերքօգտագործման ոլորտում
Introducing Modularity
Presentation transcript:

Information Flow Metric

Two concepts are common to all information flow metrics: Several metrics have been developed to measure information flow complexity. Two concepts are common to all information flow metrics: Fan-in: is the information that flows into a procedure. Fan-out: is what comes out of it.

FAN IN (A) Return values scanf()

FAN OUT (A) Return values Number of arguments passed in calling prinf()

Information Flow (IF) weighted IFC = length * (fanin * fanout)2

Example Consider the following graph. (module (file, procedure or node) as node and call between them as edges) Fan-in of a module is the number of other modules calling to this module directly.   Fan-out of a module is the number of other modules immediately called by this module.

Module A has Fan-in = 3 and fan-out = 2 High fan-in shows better design structure. Higher fan-in means this module has been used heavily, this shows re-usability of module and thus reduces redundancy in coding. Fan-out indicate coupling between modules. High fan out means highly coupled module. High fan-out indicates module depends highly on other module and thus shows poor design structure. High fan-out also increases maintainability cost. Any changes in module require seeing other modules.