Workshop 1a: Software Measurement. Dietmar Pfahl

Size: px
Start display at page:

Download "Workshop 1a: Software Measurement. Dietmar Pfahl"

Transcription

1 Software Economics Fall 2015 Workshop 1a: Software Measurement Dietmar Pfahl (based on slides by Marlon Dumas & Anton Litvinenko)

2 Main Message Software measures can be misleading, so Either you don t use them Or you better know what they mean and how to use them.

3 Definitions: Measurement and Measure Scale & Unit Measurement: Measurement is the process through which values (e.g., numbers) are assigned to attributes of entities of the real world. Measure: A measure is the mathematical function that defines how an attribute of an entity (or rather object = instance of an entity) is mapped to a value. Source: Sandro Morasca, Software Measurement, in Handbook of Software Engineering and Knowledge Engineering - Volume 1: Fundamentals (refereed book), pp , Knowledge Systems Institute, Skokie, IL, USA, 2001, ISBN: X. MTAT / Lecture 07 / Dietmar Pfahl 2015 A Size Measure Entity: Program Attribute: Size B 4 e * 3 d * 2 c * 1 b * 0 a * LOC (lines of code) oduction/levels_of_measurement.html

4 Software Measure is a measure of anything directly related to software or its production Often, Software Metric is used as synonym for Software Measure, although metric has a specific meaning in Maths (e.g. triangle inequality) 4

5 Software Metrics in Context Software Product Size Complexity Design quality (External) product quality Software Project Quality Activity Size (effort, cost) 5

6 Lines Of Code (LOC) Product Size ???? 6

7 Lines Of Code 7

8 Lines Of Code Summary Accurate, easy to measure How to interpret... Empty lines Comments Several statements on one line Language dependent Doesn't take into account complexity Useful? 8

9 McCabe's Cyclomatic Complexity Complexity of a program Number of linearly independent paths through a function Usually calculated using the flow graph V(G) = e n + 2p e num of edges, n num of vertices, p num of connected components of the flow graph V(G) = d + 1 d num of decision (branching) points Works only for single component analysis (not several connected components; i.e. p = 1 above) 9

10 McCabe's Cyclomatic Complexity 10

11 McCabe's Cyclomatic Complexity 2: System.out.println(" "); for (Client c : clients) 4-5: System.out.println(c.getId() + " " + c.getfirstname()); e = 7 n = 6 p = 1 V(G) = 3 if (clients.size() == 0) 8: System.out.println("\tNothing"); 10: System.out.println(" "); 11

12 Cyclomatic Complexity Summary Automated (available in any modern IDE) Related to testing notions V(G) is an upper bound for the branch coverage Each control structure was evaluated both to true and false V(G) is a lower bound for the path coverage All linearly independent paths were executed Related to maintainability and defects V(G) > 10 Probability of defects rises But to be used with care: N. Nagappan, T. Ball, A. Zeller, Mining metrics to Predict Component Failures. ICSE'

13 Exercise Calculate McCabe's cyclomatic complexity of the following code snippet: 13

14 private void drawselectclientdialog() { List<Client> allclients = domaincontroller.loadallclients(); List<String> clients = new ArrayList<String>(); for (Client client: allclients) { clients.add(client.getid() + ". " + client.getfirstname()); } String selectedclient = (String)JOptionPane.showInputDialog( this, Translations.getString("main.chooseCustomer"), Translations.getString("main.chooseCustomer"), JOptionPane.OK_CANCEL_OPTION, null, clients.toarray(), 0); Client currentclient = null; try { if (selectedclient!= null) { currentclient = domaincontroller.getclientbyid( Long.parseLong(selectedClient. split(" ")[0].replaceAll("\\.",""))); } } catch(numberformatexception e) { log.error("failed to parse client id," + " probably no client was selected"); } if (currentclient!= null) { log.info("client " + currentclient.getfirstname() + " with ID=" + currentclient.getid() + " got selected."); } else { log.info("no client selected"); } model.setcurrentclient(currentclient); } MC = d + 1 = = 5 14

15 Software Metrics Software Product Size Complexity Design quality (External) product quality Software Project Quality Activity Size (effort, cost) 15

16 Coupling Coupling between object classes (CBO) Number of classes referenced by a given class (FanOut) Lack of cohesion in methods (LCOM) Number of method pairs that do not share instance variables minus number of methods that share at least one instance variable By convention, LCOM is said to be zero if the above definition gives a negative number 16

17 Coupling Example... CBO =? 17

18 Coupling Example... CBO = 1 (one other class referenced) 18

19 (Lack of) Cohesion Example LCOM = 1 2 =

20 public PersonDetails { private String _firstname; private String _surname; private String _street; private String _city; (Lack of) Cohesion Example } public PersonDetails() {} public setname(string f, String s) { _firstname = f; _surname = s; } public setaddress(string st, String c) { _street = st; _city = c; } public void printaddress() { System.out.println(_street); System.out.println(_city); } public void printname() { System.out.println(_firstname + " " + _surname); } LCOM =? 20

21 (Lack of) Cohesion Example 6 2 = 8 2 =

22 public PersonDetails { private String _firstname; private String _surname; private String _street; private String _city; (Lack of) Cohesion Example } public PersonDetails() {} public setname(string f, String s) { _firstname = f; _surname = s; } public setaddress(string st, String c) { _street = st; _city = c; } public void printaddress() { System.out.println(_street); System.out.println(_city); } public void printname() { System.out.println(_firstname + " " + _surname); } LCOM =? 22

23 Product Quality Metrics Not just about number of bugs/defects Many different models and checklists McCall's Quality Model, FRUPS, ISO 9126 Functionality, reliability, usability, portability, Cannot be measured directly must be measured via other metrics (indirect metrics) Cf. course Software Quality & Standards 23

24 Software Metrics Software Product Size Complexity Design quality (External) product quality Software Project Quality Activity Size (effort, cost) 24

25 Project Quality Metric: Defect Efficiency Ratio Efficiency of quality assurance procedures How many defects were delivered to customer DER = D before / (D before + D after ) D before defects found before delivery D after defects found after delivery What would be an ideal situation? 25

26 Observation "as the number of detected errors in a piece of software increases the probability of the existing of more undetected errors also increases" Glenford Myers, 1976 Bugs tend to cluster as you find a bug you should stop and write more tests for components where you have found a bug 28

27 Project Activity Metrics: Code Churn Amount of code changed in the software during the period of time Churned LOC number of added, modified and deleted lines of code Churn Count number of changes made to a file Files Churned number of changed files 29

28 Applications of Code Churn Metrics Overview of activity and productivity Increase in relative code churn metrics increase in defect density Number of defects per line of code Vulnerable files have higher code churn metrics Vulnerability instance of violation of the security policy Question: Is Productivity additive? (Hint: The Mythical Man Month) 30

29 Time & Effort: (Person-)Hours One (person-)hour of ideal engineering Team specific How many perfect (person-)hours in a work day? Relative measure of time and effort How many ideal engineering (person-)hours required to complete the feature Applied early Manual and subjective 31

30 Story Points Generalization of a perfect person-hour Relative measure of effort required to complete the feature Used to calculate Velocity (Productivity): Changes over time Team specific Applied early Manual and subjective 32

31 Function Points Will be covered during next week s workshop Length Size Complexity Functionality 33

32 Acknowledgments Some material inspired by or extracted from: C. Lange, Metrics in software architecting M. Gökmen, Software process and project metrics C. Martin, OO Quality design metrics E. Tempero, E. Mendes, COMPSCI 702: Software Measurement - The CK Metrics

33 Homework: Assignment 3 Details can be found here (course wiki):

34 Home Reading David Longstreet Function Point Manual 36

MTAT Software Engineering

MTAT Software Engineering MTAT.03.094 Software Engineering Lecture 14: Measurement Dietmar Pfahl Fall 2015 email: dietmar.pfahl@ut.ee Schedule of Lectures Week 01: Introduction to SE Week 02: Requirements Engineering I Week 03:

More information

MTAT Software Engineering Management

MTAT Software Engineering Management MTAT.03.243 Software Engineering Management Lecture 07: SPI & Measurement Part A Dietmar Pfahl Spring 2015 email: dietmar.pfahl@ut.ee Announcement ATI Career Day Friday Announcement Industry Guest Lecture

More information

Quality Management of Software and

Quality Management of Software and Quality Management of Software and Systems Software Measurement Prof. Dr. Liggesmeyer, 1 Motivation Measurement When you can measure what you are speaking about, and express it in numbers, you know something

More information

Path Testing and Test Coverage. Chapter 9

Path Testing and Test Coverage. Chapter 9 Path Testing and Test Coverage Chapter 9 Structural Testing Also known as glass/white/open box testing Structural testing is based on using specific knowledge of the program source text to define test

More information

Path Testing and Test Coverage. Chapter 9

Path Testing and Test Coverage. Chapter 9 Path Testing and Test Coverage Chapter 9 Structural Testing Also known as glass/white/open box testing Structural testing is based on using specific knowledge of the program source text to define test

More information

Software Measurement. Mark Micallef

Software Measurement. Mark Micallef Software Measurement Mark Micallef mmica01@um.edu.mt Brief Course Overview Introduction to Measurement Theory Measurement as applied Software Examples of Various Metrics, Measures and Indicators Introduction

More information

Theory of Computer Science

Theory of Computer Science Theory of Computer Science E1. Complexity Theory: Motivation and Introduction Malte Helmert University of Basel May 18, 2016 Overview: Course contents of this course: logic How can knowledge be represented?

More information

Theory of Computer Science. Theory of Computer Science. E1.1 Motivation. E1.2 How to Measure Runtime? E1.3 Decision Problems. E1.

Theory of Computer Science. Theory of Computer Science. E1.1 Motivation. E1.2 How to Measure Runtime? E1.3 Decision Problems. E1. Theory of Computer Science May 18, 2016 E1. Complexity Theory: Motivation and Introduction Theory of Computer Science E1. Complexity Theory: Motivation and Introduction Malte Helmert University of Basel

More information

Extensibility Patterns: Extension Access

Extensibility Patterns: Extension Access Design Patterns and Frameworks Dipl.-Medieninf. Christian Piechnick INF 2080 christian.piechnick@tu-dresden.de Exercise Sheet No. 5 Software Technology Group Institute for SMT Department of Computer Science

More information

Feedback. The Lost Art Of Agile. (v2)

Feedback. The Lost Art Of Agile. (v2) Feedback The Lost Art Of Agile (v2) Software development has a history of loosing feedback Why Lost? - Waterfall The implementation described above is risky and invites failure. Winston Royce, 1970 Why

More information

CSE507. Introduction. Computer-Aided Reasoning for Software. Emina Torlak courses.cs.washington.edu/courses/cse507/17wi/

CSE507. Introduction. Computer-Aided Reasoning for Software. Emina Torlak courses.cs.washington.edu/courses/cse507/17wi/ Computer-Aided Reasoning for Software CSE507 courses.cs.washington.edu/courses/cse507/17wi/ Introduction Emina Torlak emina@cs.washington.edu Today What is this course about? Course logistics Review of

More information

Weighted Stability Index (WSI) Metric Model Mike Libassi Intel Corp 8/11/99

Weighted Stability Index (WSI) Metric Model Mike Libassi Intel Corp 8/11/99 Weighted Stability Index (WSI) Metric Model Mike Libassi Intel Corp 8/11/99 Abstract Methods, such as McCabe's Cyclomatic Complexity, have proven that complexity is a reliable predictor of defects. Although

More information

CH 59 SQUARE ROOTS. Every positive number has two square roots. Ch 59 Square Roots. Introduction

CH 59 SQUARE ROOTS. Every positive number has two square roots. Ch 59 Square Roots. Introduction 59 CH 59 SQUARE ROOTS Introduction W e saw square roots when we studied the Pythagorean Theorem. They may have been hidden, but when the end of a right-triangle problem resulted in an equation like c =

More information

Requirements Validation. Content. What the standards say (*) ?? Validation, Verification, Accreditation!! Correctness and completeness

Requirements Validation. Content. What the standards say (*) ?? Validation, Verification, Accreditation!! Correctness and completeness Requirements Validation Requirements Management Requirements Validation?? Validation, Verification, Accreditation!! Check if evrything is OK With respect to what? Mesurement associated with requirements

More information

Announcements. CompSci 102 Discrete Math for Computer Science. Chap. 3.1 Algorithms. Specifying Algorithms

Announcements. CompSci 102 Discrete Math for Computer Science. Chap. 3.1 Algorithms. Specifying Algorithms CompSci 102 Discrete Math for Computer Science Announcements Read for next time Chap. 3.1-3.3 Homework 3 due Tuesday We ll finish Chapter 2 first today February 7, 2012 Prof. Rodger Chap. 3.1 Algorithms

More information

Indicators of Structural Stability of Object-Oriented Designs: A Case Study

Indicators of Structural Stability of Object-Oriented Designs: A Case Study Indicators of Structural Stability of Object-Oriented Designs: A Case Study Mahmoud O. Elish and David Rine Department of Computer Science George Mason University Fairfax, VA 22030, USA {melish,drine}@gmu.edu

More information

COURSE INTRODUCTION & COURSE OVERVIEW

COURSE INTRODUCTION & COURSE OVERVIEW week 1 COURSE INTRODUCTION & COURSE OVERVIEW topics of the week Instructor introduction Students introductions Course logistics Course objectives Definition of GIS The story of GIS introductions Who am

More information

Measuring lateness. Definition of Measurement (Fenton)

Measuring lateness. Definition of Measurement (Fenton) When you can measure what you are speaking about, and express it in numbers, you know something about it; but when you cannot measure it, when you cannot express it in numbers, your knowledge is of a meagre

More information

Just-in-Time-Teaching and other gadgets. Richard Cramer-Benjamin Niagara University

Just-in-Time-Teaching and other gadgets. Richard Cramer-Benjamin Niagara University Just-in-Time-Teaching and other gadgets Richard Cramer-Benjamin Niagara University http://faculty.niagara.edu/richcb The Class MAT 443 Euclidean Geometry 26 Students 12 Secondary Ed (9-12 or 5-12 Certification)

More information

Abstract Machine for Software Process Models

Abstract Machine for Software Process Models Abstract Machine for Software Process Models Finite State Machine for SPM Waterfall Incremental Spiral Extreme Programming (XP) Scrum Generalized Abstract Machine for SPM Problem set: objectives with colors

More information

Chapter 10 Retrospective on Unit Testing

Chapter 10 Retrospective on Unit Testing Chapter 10 Retrospective on Unit The Test Method Pendulum Code-based Spec-based Path Dataflow Slice Decision Table Boundary Equivalence Value Class Low Semantic Content High Semantic Content Low Semantic

More information

7 Distances. 7.1 Metrics. 7.2 Distances L p Distances

7 Distances. 7.1 Metrics. 7.2 Distances L p Distances 7 Distances We have mainly been focusing on similarities so far, since it is easiest to explain locality sensitive hashing that way, and in particular the Jaccard similarity is easy to define in regards

More information

Preptests 55 Answers and Explanations (By Ivy Global) Section 4 Logic Games

Preptests 55 Answers and Explanations (By Ivy Global) Section 4 Logic Games Section 4 Logic Games Questions 1 6 There aren t too many deductions we can make in this game, and it s best to just note how the rules interact and save your time for answering the questions. 1. Type

More information

CSE332: Data Structures & Parallelism Lecture 2: Algorithm Analysis. Ruth Anderson Winter 2019

CSE332: Data Structures & Parallelism Lecture 2: Algorithm Analysis. Ruth Anderson Winter 2019 CSE332: Data Structures & Parallelism Lecture 2: Algorithm Analysis Ruth Anderson Winter 2019 Today Algorithm Analysis What do we care about? How to compare two algorithms Analyzing Code Asymptotic Analysis

More information

B490 Mining the Big Data

B490 Mining the Big Data B490 Mining the Big Data 1 Finding Similar Items Qin Zhang 1-1 Motivations Finding similar documents/webpages/images (Approximate) mirror sites. Application: Don t want to show both when Google. 2-1 Motivations

More information

MEASURING THE COMPLEXITY AND IMPACT OF DESIGN CHANGES

MEASURING THE COMPLEXITY AND IMPACT OF DESIGN CHANGES Presentation Paper Bio Return to Main Menu P R E S E N T A T I O N W4 Wednesday, March 8, 2000 11:00AM MEASURING THE COMPLEXITY AND IMPACT OF DESIGN CHANGES Mike Libassi Intel Corporation International

More information

Non-Interactive Zero Knowledge (II)

Non-Interactive Zero Knowledge (II) Non-Interactive Zero Knowledge (II) CS 601.442/642 Modern Cryptography Fall 2017 S 601.442/642 Modern CryptographyNon-Interactive Zero Knowledge (II) Fall 2017 1 / 18 NIZKs for NP: Roadmap Last-time: Transformation

More information

Software organizations spend a disproportionate amount of

Software organizations spend a disproportionate amount of IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. XX, NO. XX, XXX 2016 1 The Use of Summation to Aggregate Software Metrics Hinders the Performance of Defect Prediction Models Feng Zhang, Ahmed E. Hassan,

More information

Magnetostatics: Part 1

Magnetostatics: Part 1 Magnetostatics: Part 1 We present magnetostatics in comparison with electrostatics. Sources of the fields: Electric field E: Coulomb s law. Magnetic field B: Biot-Savart law. Charge Current (moving charge)

More information

Introduction to Computer Programming

Introduction to Computer Programming Introduction to Computer Programming Lecture 01 Software engineering is a field of engineering, for designing and writing programs for computers or other electronic devices. A software engineer, or programmer,

More information

Exam: 4 hour multiple choice. Agenda. Course Introduction to Statistics. Lecture 1: Introduction to Statistics. Per Bruun Brockhoff

Exam: 4 hour multiple choice. Agenda. Course Introduction to Statistics. Lecture 1: Introduction to Statistics. Per Bruun Brockhoff Course 02402 Lecture 1: Per Bruun Brockhoff DTU Informatics Building 305 - room 110 Danish Technical University 2800 Lyngby Denmark e-mail: pbb@imm.dtu.dk Agenda 1 2 3 4 Per Bruun Brockhoff (pbb@imm.dtu.dk),

More information

Ch. 3 Equations and Inequalities

Ch. 3 Equations and Inequalities Ch. 3 Equations and Inequalities 3.1 Solving Linear Equations Graphically There are 2 methods presented in this section for solving linear equations graphically. Normally I would not cover solving linear

More information

2. Introduction to commutative rings (continued)

2. Introduction to commutative rings (continued) 2. Introduction to commutative rings (continued) 2.1. New examples of commutative rings. Recall that in the first lecture we defined the notions of commutative rings and field and gave some examples of

More information

Social Choice and Networks

Social Choice and Networks Social Choice and Networks Elchanan Mossel UC Berkeley All rights reserved Logistics 1 Different numbers for the course: Compsci 294 Section 063 Econ 207A Math C223A Stat 206A Room: Cory 241 Time TuTh

More information

ECEN 651: Microprogrammed Control of Digital Systems Department of Electrical and Computer Engineering Texas A&M University

ECEN 651: Microprogrammed Control of Digital Systems Department of Electrical and Computer Engineering Texas A&M University ECEN 651: Microprogrammed Control of Digital Systems Department of Electrical and Computer Engineering Texas A&M University Prof. Mi Lu TA: Ehsan Rohani Laboratory Exercise #4 MIPS Assembly and Simulation

More information

E23: Hotel Management System Wen Yunlu Hu Xing Chen Ke Tang Haoyuan Module: EEE 101

E23: Hotel Management System Wen Yunlu Hu Xing Chen Ke Tang Haoyuan Module: EEE 101 E23: Hotel Management System Author: 1302509 Zhao Ruimin 1301478 Wen Yunlu 1302575 Hu Xing 1301911 Chen Ke 1302599 Tang Haoyuan Module: EEE 101 Lecturer: Date: Dr.Lin December/22/2014 Contents Contents

More information

CSE507. Course Introduction. Computer-Aided Reasoning for Software. Emina Torlak

CSE507. Course Introduction. Computer-Aided Reasoning for Software. Emina Torlak Computer-Aided Reasoning for Software CSE507 courses.cs.washington.edu/courses/cse507/14au/ Course Introduction Emina Torlak emina@cs.washington.edu Today What is this course about? Course logistics Review

More information

Alan Bundy. Automated Reasoning LTL Model Checking

Alan Bundy. Automated Reasoning LTL Model Checking Automated Reasoning LTL Model Checking Alan Bundy Lecture 9, page 1 Introduction So far we have looked at theorem proving Powerful, especially where good sets of rewrite rules or decision procedures have

More information

Black-Box Testing Techniques III

Black-Box Testing Techniques III Black-Box Testing Techniques III Software Testing and Verification Lecture 6 Prepared by Stephen M. Thebaut, Ph.D. University of Florida Another Cause-Effect Example: Symbol Table Storage Specification

More information

Today s Menu. Administrativia Two Problems Cutting a Pizza Lighting Rooms

Today s Menu. Administrativia Two Problems Cutting a Pizza Lighting Rooms Welcome! L01 Today s Menu Administrativia Two Problems Cutting a Pizza Lighting Rooms Administrativia Course page: https://www.cs.duke.edu/courses/spring13/compsci230/ Who we are: Instructor: TA: UTAs:

More information

Author Entropy vs. File Size in the GNOME Suite of Applications

Author Entropy vs. File Size in the GNOME Suite of Applications Brigham Young University BYU ScholarsArchive All Faculty Publications 2009-01-01 Author Entropy vs. File Size in the GNOME Suite of Applications Jason R. Casebolt caseb106@gmail.com Daniel P. Delorey routey@deloreyfamily.org

More information

CS5371 Theory of Computation. Lecture 7: Automata Theory V (CFG, CFL, CNF)

CS5371 Theory of Computation. Lecture 7: Automata Theory V (CFG, CFL, CNF) CS5371 Theory of Computation Lecture 7: Automata Theory V (CFG, CFL, CNF) Announcement Homework 2 will be given soon (before Tue) Due date: Oct 31 (Tue), before class Midterm: Nov 3, (Fri), first hour

More information

Statistical Debugging. Ben Liblit, University of Wisconsin Madison

Statistical Debugging. Ben Liblit, University of Wisconsin Madison Statistical Debugging Ben Liblit, University of Wisconsin Madison Bug Isolation Architecture Program Source Predicates Sampler Compiler Shipping Application Top bugs with likely causes Statistical Debugging

More information

An Experimental Investigation on the Innate Relationship between Quality and Refactoring

An Experimental Investigation on the Innate Relationship between Quality and Refactoring An Experimental Investigation on the Innate Relationship between Quality and Refactoring Gabriele Bavota 1, Andrea De Lucia 2, Massimiliano Di Penta 3, Rocco Oliveto 4, Fabio Palomba 2 1 Free University

More information

CSCI 2670 Introduction to Theory of Computing

CSCI 2670 Introduction to Theory of Computing CSCI 267 Introduction to Theory of Computing Agenda Last class Reviewed syllabus Reviewed material in Chapter of Sipser Assigned pages Chapter of Sipser Questions? This class Begin Chapter Goal for the

More information

LAB 4: FORCE AND MOTION

LAB 4: FORCE AND MOTION Lab 4 - Force & Motion 37 Name Date Partners LAB 4: FORCE AND MOTION A vulgar Mechanik can practice what he has been taught or seen done, but if he is in an error he knows not how to find it out and correct

More information

EECS 70 Discrete Mathematics and Probability Theory Fall 2015 Walrand/Rao Final

EECS 70 Discrete Mathematics and Probability Theory Fall 2015 Walrand/Rao Final EECS 70 Discrete Mathematics and Probability Theory Fall 2015 Walrand/Rao Final PRINT Your Name:, (last) SIGN Your Name: (first) PRINT Your Student ID: CIRCLE your exam room: 220 Hearst 230 Hearst 237

More information

1. In Activity 1-1, part 3, how do you think graph a will differ from graph b? 3. Draw your graph for Prediction 2-1 below:

1. In Activity 1-1, part 3, how do you think graph a will differ from graph b? 3. Draw your graph for Prediction 2-1 below: PRE-LAB PREPARATION SHEET FOR LAB 1: INTRODUCTION TO MOTION (Due at the beginning of Lab 1) Directions: Read over Lab 1 and then answer the following questions about the procedures. 1. In Activity 1-1,

More information

Software Testing Lecture 5. Justin Pearson

Software Testing Lecture 5. Justin Pearson Software Testing Lecture 5 Justin Pearson 2017 1 / 34 Covering Logical Expressions Logic expression show up in many situations Covering logical expressions have a long history, many are the covering criteria

More information

Variable. Peter W. White Fall 2018 / Numerical Analysis. Department of Mathematics Tarleton State University

Variable. Peter W. White Fall 2018 / Numerical Analysis. Department of Mathematics Tarleton State University Newton s Iterative s Peter W. White white@tarleton.edu Department of Mathematics Tarleton State University Fall 2018 / Numerical Analysis Overview Newton s Iterative s Newton s Iterative s Newton s Iterative

More information

Fault Tolerant Computing CS 530 Software Reliability Growth. Yashwant K. Malaiya Colorado State University

Fault Tolerant Computing CS 530 Software Reliability Growth. Yashwant K. Malaiya Colorado State University Fault Tolerant Computing CS 530 Software Reliability Growth Yashwant K. Malaiya Colorado State University 1 Software Reliability Growth: Outline Testing approaches Operational Profile Software Reliability

More information

Great Theoretical Ideas in Computer Science. Lecture 5: Cantor s Legacy

Great Theoretical Ideas in Computer Science. Lecture 5: Cantor s Legacy 15-251 Great Theoretical Ideas in Computer Science Lecture 5: Cantor s Legacy September 15th, 2015 Poll Select the ones that apply to you: - I know what an uncountable set means. - I know Cantor s diagonalization

More information

Copyright, Nick E. Nolfi MPM1D9 Unit 6 Statistics (Data Analysis) STA-1

Copyright, Nick E. Nolfi MPM1D9 Unit 6 Statistics (Data Analysis) STA-1 UNIT 6 STATISTICS (DATA ANALYSIS) UNIT 6 STATISTICS (DATA ANALYSIS)... 1 INTRODUCTION TO STATISTICS... 2 UNDERSTANDING STATISTICS REQUIRES A CHANGE IN MINDSET... 2 UNDERSTANDING SCATTER PLOTS #1... 3 UNDERSTANDING

More information

2.5 Compound Inequalities

2.5 Compound Inequalities Section.5 Compound Inequalities 89.5 Compound Inequalities S 1 Find the Intersection of Two Sets. Solve Compound Inequalities Containing and. Find the Union of Two Sets. 4 Solve Compound Inequalities Containing

More information

MANAGING INFORMATION. On the Complexity of Requirements Flow-down. An Integrate white paper

MANAGING INFORMATION. On the Complexity of Requirements Flow-down. An Integrate white paper MANAGING INFORMATION On the Complexity of Requirements Flow-down An Integrate white paper On the Complexity of Requirements Flow-down Structures An Integrate white paper On the Complexity of Requirements

More information

PHYSICS 212 LABORATORY MANUAL CALVIN COLLEGE

PHYSICS 212 LABORATORY MANUAL CALVIN COLLEGE PHYSICS 212 LABORATORY MANUAL CALVIN COLLEGE 2003 Physics 212 Calvin College Variables and Fair Tests (adapted from Physics 113 lab manual) Suppose I wanted to determine whether being in darkness would

More information

Mathematics Background

Mathematics Background For a more robust teacher experience, please visit Teacher Place at mathdashboard.com/cmp3 Patterns of Change Through their work in Variables and Patterns, your students will learn that a variable is a

More information

Computational Integer Programming. Lecture 2: Modeling and Formulation. Dr. Ted Ralphs

Computational Integer Programming. Lecture 2: Modeling and Formulation. Dr. Ted Ralphs Computational Integer Programming Lecture 2: Modeling and Formulation Dr. Ted Ralphs Computational MILP Lecture 2 1 Reading for This Lecture N&W Sections I.1.1-I.1.6 Wolsey Chapter 1 CCZ Chapter 2 Computational

More information

On the Relationship Between Change Coupling and Software Defects

On the Relationship Between Change Coupling and Software Defects On the Relationship Between Change Coupling and Software Defects Marco D Ambros, Michele Lanza, Romain Robbes REVEAL @ Faculty of Informatics - University of Lugano, Switzerland Abstract Change coupling

More information

Research Article An Empirical Study of Social Networks Metrics in Object-Oriented Software

Research Article An Empirical Study of Social Networks Metrics in Object-Oriented Software Hindawi Publishing Corporation Advances in Software Engineering Volume 2010, Article ID 729826, 21 pages doi:10.1155/2010/729826 Research Article An Empirical Study of Social Networks Metrics in Object-Oriented

More information

CSCB63 Winter Week10 - Lecture 2 - Hashing. Anna Bretscher. March 21, / 30

CSCB63 Winter Week10 - Lecture 2 - Hashing. Anna Bretscher. March 21, / 30 CSCB63 Winter 2019 Week10 - Lecture 2 - Hashing Anna Bretscher March 21, 2019 1 / 30 Today Hashing Open Addressing Hash functions Universal Hashing 2 / 30 Open Addressing Open Addressing. Each entry in

More information

MAS221 Analysis Semester Chapter 2 problems

MAS221 Analysis Semester Chapter 2 problems MAS221 Analysis Semester 1 2018-19 Chapter 2 problems 20. Consider the sequence (a n ), with general term a n = 1 + 3. Can you n guess the limit l of this sequence? (a) Verify that your guess is plausible

More information

Robust Programs with Filtered Iterators

Robust Programs with Filtered Iterators Robust Programs with Filtered Iterators Jiasi Shen, Martin Rinard MIT EECS & CSAIL 1 Standard Scenario Input file Program Output 2 Structured Input Units Input Input unit Input unit Input unit unit Program

More information

Physics 210 Q ( PHYSICS210BRIDGE ) My Courses Course Settings

Physics 210 Q ( PHYSICS210BRIDGE ) My Courses Course Settings 1 of 10 9/7/2012 1:11 PM Logged in as Julie Alexander, Instructor Help Log Out Physics 210 Q1 2012 ( PHYSICS210BRIDGE ) My Courses Course Settings Course Home Assignments Roster Gradebook Item Library

More information

Math 1320, Section 10 Quiz IV Solutions 20 Points

Math 1320, Section 10 Quiz IV Solutions 20 Points Math 1320, Section 10 Quiz IV Solutions 20 Points Please answer each question. To receive full credit you must show all work and give answers in simplest form. Cell phones and graphing calculators are

More information

Factory method - Increasing the reusability at the cost of understandability

Factory method - Increasing the reusability at the cost of understandability Factory method - Increasing the reusability at the cost of understandability The author Linkping University Linkping, Sweden Email: liuid23@student.liu.se Abstract This paper describes how Bansiya and

More information

Chap 4. Software Reliability

Chap 4. Software Reliability Chap 4. Software Reliability 4.2 Reliability Growth 1. Introduction 2. Reliability Growth Models 3. The Basic Execution Model 4. Calendar Time Computation 5. Reliability Demonstration Testing 1. Introduction

More information

ARE CISQ RELIABILITY MEASURES PRACTICAL? A RESEARCH PERSPECTIVE. Johannes Bräuer, Reinhold Plösch, Manuel Windhager TAIC PART 2017, Tokyo

ARE CISQ RELIABILITY MEASURES PRACTICAL? A RESEARCH PERSPECTIVE. Johannes Bräuer, Reinhold Plösch, Manuel Windhager TAIC PART 2017, Tokyo ARE CISQ RELIABILITY MEASURES PRACTICAL? A RESEARCH PERSPECTIVE Johannes Bräuer, Reinhold Plösch, Manuel Windhager TAIC PART 2017, Tokyo WHAT TO EXPECT? Motivation for measuring reliability CISQ Standard

More information

Mathematics 1104B. Systems of Equations and Inequalities, and Matrices. Study Guide. Text: Mathematics 11. Alexander and Kelly; Addison-Wesley, 1998.

Mathematics 1104B. Systems of Equations and Inequalities, and Matrices. Study Guide. Text: Mathematics 11. Alexander and Kelly; Addison-Wesley, 1998. Adult Basic Education Mathematics Systems of Equations and Inequalities, and Matrices Prerequisites: Mathematics 1104A, Mathematics 1104B Credit Value: 1 Text: Mathematics 11. Alexander and Kelly; Addison-Wesley,

More information

Week 7 Algebra 1 Assignment:

Week 7 Algebra 1 Assignment: Week 7 Algebra 1 Assignment: Day 1: Chapter 3 test Day 2: pp. 132-133 #1-41 odd Day 3: pp. 138-139 #2-20 even, 22-26 Day 4: pp. 141-142 #1-21 odd, 25-30 Day 5: pp. 145-147 #1-25 odd, 33-37 Notes on Assignment:

More information

Mathematics Enhancement Programme

Mathematics Enhancement Programme UNIT 9 Lesson Plan 1 Perimeters Perimeters 1 1A 1B Units of length T: We're going to measure the lengths of the sides of some shapes. Firstly we need to decide what units to use - what length-units do

More information

Use of the ISO Quality standards at the NMCAs Results from questionnaires taken in 2004 and 2011

Use of the ISO Quality standards at the NMCAs Results from questionnaires taken in 2004 and 2011 Use of the ISO 19100 Quality standards at the NMCAs Results from questionnaires taken in 2004 and 2011 Eurogeographics Quality Knowledge Exchange Network Reference: History Version Author Date Comments

More information

Geosciences Data Digitize and Materialize, Standardization Based on Logical Inter- Domain Relationships GeoDMS

Geosciences Data Digitize and Materialize, Standardization Based on Logical Inter- Domain Relationships GeoDMS Geosciences Data Digitize and Materialize, Standardization Based on Logical Inter- Domain Relationships GeoDMS Somayeh Veiseh Iran, Corresponding author: Geological Survey of Iran, Azadi Sq, Meraj St,

More information

Introduction to Mathematical Programming IE406. Lecture 21. Dr. Ted Ralphs

Introduction to Mathematical Programming IE406. Lecture 21. Dr. Ted Ralphs Introduction to Mathematical Programming IE406 Lecture 21 Dr. Ted Ralphs IE406 Lecture 21 1 Reading for This Lecture Bertsimas Sections 10.2, 10.3, 11.1, 11.2 IE406 Lecture 21 2 Branch and Bound Branch

More information

A Note on the Complexity of Network Reliability Problems. Hans L. Bodlaender Thomas Wolle

A Note on the Complexity of Network Reliability Problems. Hans L. Bodlaender Thomas Wolle A Note on the Complexity of Network Reliability Problems Hans L. Bodlaender Thomas Wolle institute of information and computing sciences, utrecht university technical report UU-CS-2004-001 www.cs.uu.nl

More information

Essential Statistics. Gould Ryan Wong

Essential Statistics. Gould Ryan Wong Global Global Essential Statistics Eploring the World through Data For these Global Editions, the editorial team at Pearson has collaborated with educators across the world to address a wide range of subjects

More information

Part 4 out of 5 DFA NFA REX. Automata & languages. A primer on the Theory of Computation. Last week, we showed the equivalence of DFA, NFA and REX

Part 4 out of 5 DFA NFA REX. Automata & languages. A primer on the Theory of Computation. Last week, we showed the equivalence of DFA, NFA and REX Automata & languages A primer on the Theory of Computation Laurent Vanbever www.vanbever.eu Part 4 out of 5 ETH Zürich (D-ITET) October, 12 2017 Last week, we showed the equivalence of DFA, NFA and REX

More information

Software Quality. Introduction " Martin Glinz. Chapter 1. Department of Informatics!

Software Quality. Introduction  Martin Glinz. Chapter 1. Department of Informatics! Department of Informatics! Martin Glinz Software Quality Chapter 1 Introduction " 2014-2016 Martin Glinz. All rights reserved. Making digital or hard copies of all or part of this work for educational,

More information

Midterm Exam Information Theory Fall Midterm Exam. Time: 09:10 12:10 11/23, 2016

Midterm Exam Information Theory Fall Midterm Exam. Time: 09:10 12:10 11/23, 2016 Midterm Exam Time: 09:10 12:10 11/23, 2016 Name: Student ID: Policy: (Read before You Start to Work) The exam is closed book. However, you are allowed to bring TWO A4-size cheat sheet (single-sheet, two-sided).

More information

6.080 / Great Ideas in Theoretical Computer Science Spring 2008

6.080 / Great Ideas in Theoretical Computer Science Spring 2008 MIT OpenCourseWare http://ocw.mit.edu 6.080 / 6.089 Great Ideas in Theoretical Computer Science Spring 2008 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.

More information

, p 1 < p 2 < < p l primes.

, p 1 < p 2 < < p l primes. Solutions Math 347 Homework 1 9/6/17 Exercise 1. When we take a composite number n and factor it into primes, that means we write it as a product of prime numbers, usually in increasing order, using exponents

More information

Data Structures and Algorithms

Data Structures and Algorithms Data Structures and Algorithms P. Healy CS1-08 Computer Science Bldg. tel: 202727 patrick.healy@ul.ie Autumn 2018-2019 Outline 1 2 3 4 Outline 1 2 3 4 Lectures, Labs and Tutes Lecture Hours: Mon. 15h00

More information

Solving and Graphing Inequalities Joined by And or Or

Solving and Graphing Inequalities Joined by And or Or Solving and Graphing Inequalities Joined by And or Or Classwork 1. Zara solved the inequality 18 < 3x 9 as shown below. Was she correct? 18 < 3x 9 27 < 3x 9 < x or x> 9 2. Consider the compound inequality

More information

Vehicle Scheduling for Accessible. Transportation Systems

Vehicle Scheduling for Accessible. Transportation Systems Beauchamp 1 2 Furkan Enderer 3 Mounira Groiez 1 Nadia Lahrichi 1 Mehdi Mahnam 1 Odile Marcotte 4 Sofiane Soualah 5 6 1 École Polytechnique 2 UQAM 3 Concordia University 4 CRM and UQAM 5 Université de Montréal

More information

Show that the following problems are NP-complete

Show that the following problems are NP-complete Show that the following problems are NP-complete April 7, 2018 Below is a list of 30 exercises in which you are asked to prove that some problem is NP-complete. The goal is to better understand the theory

More information

1 Descriptions of Function

1 Descriptions of Function Wide-Area Wind Generation Forecasting 1 Descriptions of Function All prior work (intellectual property of the company or individual) or proprietary (non-publicly available) work should be so noted. 1.1

More information

PHY 111L Activity 2 Introduction to Kinematics

PHY 111L Activity 2 Introduction to Kinematics PHY 111L Activity 2 Introduction to Kinematics Name: Section: ID #: Date: Lab Partners: TA initials: Objectives 1. Introduce the relationship between position, velocity, and acceleration 2. Investigate

More information

CSC236 Week 11. Larry Zhang

CSC236 Week 11. Larry Zhang CSC236 Week 11 Larry Zhang 1 Announcements Next week s lecture: Final exam review This week s tutorial: Exercises with DFAs PS9 will be out later this week s. 2 Recap Last week we learned about Deterministic

More information

Context-Aware Statistical Debugging

Context-Aware Statistical Debugging Context-Aware Statistical Debugging From Bug Predictors to Faulty Control Flow Paths Lingxiao Jiang and Zhendong Su University of California at Davis Outline Introduction Context-Aware Statistical Debugging

More information

Section 7.1 Objective 1: Solve Quadratic Equations Using the Square Root Property Video Length 12:12

Section 7.1 Objective 1: Solve Quadratic Equations Using the Square Root Property Video Length 12:12 Section 7.1 Video Guide Solving Quadratic Equations by Completing the Square Objectives: 1. Solve Quadratic Equations Using the Square Root Property. Complete the Square in One Variable 3. Solve Quadratic

More information

CS 301. Lecture 17 Church Turing thesis. Stephen Checkoway. March 19, 2018

CS 301. Lecture 17 Church Turing thesis. Stephen Checkoway. March 19, 2018 CS 301 Lecture 17 Church Turing thesis Stephen Checkoway March 19, 2018 1 / 17 An abridged modern history of formalizing algorithms An algorithm is a finite, unambiguous sequence of steps for solving a

More information

The Gram-Schmidt Process

The Gram-Schmidt Process The Gram-Schmidt Process How and Why it Works This is intended as a complement to 5.4 in our textbook. I assume you have read that section, so I will not repeat the definitions it gives. Our goal is to

More information

Math 308 Midterm Answers and Comments July 18, Part A. Short answer questions

Math 308 Midterm Answers and Comments July 18, Part A. Short answer questions Math 308 Midterm Answers and Comments July 18, 2011 Part A. Short answer questions (1) Compute the determinant of the matrix a 3 3 1 1 2. 1 a 3 The determinant is 2a 2 12. Comments: Everyone seemed to

More information

COMPSCI 611 Advanced Algorithms Second Midterm Exam Fall 2017

COMPSCI 611 Advanced Algorithms Second Midterm Exam Fall 2017 NAME: COMPSCI 611 Advanced Algorithms Second Midterm Exam Fall 2017 A. McGregor 15 November 2017 DIRECTIONS: Do not turn over the page until you are told to do so. This is a closed book exam. No communicating

More information

Web GIS: Architectural Patterns and Practices. Shannon Kalisky Philip Heede

Web GIS: Architectural Patterns and Practices. Shannon Kalisky Philip Heede Web GIS: Architectural Patterns and Practices Shannon Kalisky Philip Heede Web GIS Transformation of the ArcGIS Platform Desktop Apps Server GIS Web Maps Web Scenes Layers Web GIS Transformation of the

More information

Lecture 4: Perfect Secrecy: Several Equivalent Formulations

Lecture 4: Perfect Secrecy: Several Equivalent Formulations Cryptology 18 th August 015 Lecture 4: Perfect Secrecy: Several Equivalent Formulations Instructor: Goutam Paul Scribe: Arka Rai Choudhuri 1 Notation We shall be using the following notation for this lecture,

More information

October 16, Geometry, the Common Core, and Proof. John T. Baldwin, Andreas Mueller. The motivating problem. Euclidean Axioms and Diagrams

October 16, Geometry, the Common Core, and Proof. John T. Baldwin, Andreas Mueller. The motivating problem. Euclidean Axioms and Diagrams October 16, 2012 Outline 1 2 3 4 5 Agenda 1 G-C0-1 Context. 2 Activity: Divide a line into n pieces -with string; via construction 3 Reflection activity (geometry/ proof/definition/ common core) 4 mini-lecture

More information

Data Mining Prof. Pabitra Mitra Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur

Data Mining Prof. Pabitra Mitra Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur Data Mining Prof. Pabitra Mitra Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur Lecture 21 K - Nearest Neighbor V In this lecture we discuss; how do we evaluate the

More information

Math 147 Lecture Notes: Lecture 12

Math 147 Lecture Notes: Lecture 12 Math 147 Lecture Notes: Lecture 12 Walter Carlip February, 2018 All generalizations are false, including this one.. Samuel Clemens (aka Mark Twain) (1835-1910) Figures don t lie, but liars do figure. Samuel

More information

1 Propositional Logic

1 Propositional Logic CS 2800, Logic and Computation Propositional Logic Lectures Pete Manolios Version: 384 Spring 2011 1 Propositional Logic The study of logic was initiated by the ancient Greeks, who were concerned with

More information