Demystifying Maintainability

Size: px
Start display at page:

Download "Demystifying Maintainability"

Transcription

1 1 Manfred Broy, Florian Deißenböck, Markus Pizka Demystifying Maintainability May 21 st 2006 WoSQ 06 Shanghai

2 2 Outline Relevance Maintainability Metrics, Conventions, Models Quality Matrix Incremental development, principles, tools Conclusion & Future Work

3 3 Relevance Requirements: Business Processes, Strategic Goals, UI, Software Maintenance Software System Efficiency is key success factor (Time to Market) Technology: Hardware, OS, Languages, Tools, DBs,

4 4 What is»maintainability«?»the effort needed to make specified modifications to a component implementation.«(sei)»the ease with which a software system or component can be modified to correct faults, improve performance or other attributes, or adapt to a changed environment.«(ieee)»correction of minor bugs requires only minor efforts«software-metrics: McCabe, Halstead, CBO, LCOM, SEI Maintainability Index: ln(avghv) avgcc(g ) 16.2 ln (avgloc) + 50 sin (sqrt(2.4 percm)) HV: Halstead Volume CC: Cyclomatic Complexity LOC: lines of code percm: % Comment Lines

5 5 Conventions Companies: Simplicity of interfaces and modules Low structural complexity Readable code Changeable and complete documentation Details? Assessment? ISO : Analyzability:»effort to diagnose«size of Activity Log Changeability:»effort to implement a modification«inline Comments per Change not (justified assessable) ignored / without effect Rationale? Structure?

6 6 Real-World Problems Program comprehension ( 50% of maintenance activities): Identifiers Unnecessary code Hidden dependencies exit function»programming tricks«end if Source code format Change: Dependencies Redundant code Lack of tool support Outdated documentation Compile times Turnover function mr_mr_1(mr, mr_1) if Null(mr) or Null(mr_1) then mr_mr_1 = (mr - mr_1) end function #if 0 Message-Id: < AAarpa> Subject: gnu emacs on iris... Date: 04 May 87 23:53:11 PDT (Mon) From: raible@orville.arpa if (utime (name, &utb) < 0) return; #endif

7 Quality Models Maintainability Testability Understandability Augmentability Structuredness Communicativeness Accessibility Self-Descriptivness Conciseness Legibility Approach Problem Break-down of quality criteria Characteristics vs activities Tree-like structure Ambiguous edge semantic * B. W. Boehm et al., Characteristics of Software Quality,

8 Separation of Activities & Facts Activities Define costs Analysis Identify Elements To Modify Impact Analysis Depend on maintenance task Maintenance Implementation Testing Coding Integration Unit Testing Integration Testing Delivery Preparation Installation Facts FCM-like but without activities Includes organizational aspects Situation Organization Product Infrastructure Skills Fluctuation Static Aspects Dynamics Documentation Tools Knowledge Base 8

9 Quality Matrix Maintenance Analysis Implementation Concept- Location Impact- Analysis Coding Situation Infrastruct. Product Dynamics Static Aspects Tools Concurrency Recursion Cloning Code Format Debugger Refactoring 9

10 10 Extended Quality Matrix Attributes Analysis Maintenance Implementation Activities Facts Situation Documentation Code Formatting Glossary Black-Box-Docu Existence Consistence Congruency Redundancy Size Existence Consistence Congruency Redundancy Size Existence Consistence Congruency Redundancy Size Existence Consistence Congruency Redundancy Size Concept- Location Impact- Analysis Coding Effects

11 11 Extended Quality Matrix Assessment Subject of assessment: attributed Facts Types: automatic:»switch must have Default«semi-automatic: Redundancy, Dead Code manual: wrong Algorithm Current Version # Facts 145 # Activities 28 # Attributes 16 # Attributed Facts 178 # Effects 197 Σ Model Elements 564 Sources Experiences of industrial partners Literature Standards, Conventions Plus a lot of work

12 12 Quality Controlling»By the time you figure out you have a quality problem, it is probably too late to fix it.«(reel 92) Continuous, real-time quality controlling Improves product quality and developer education Tool Support: ConQAT Integrated display of diverse quality characteristics Information aggregation Flexible, extensible architecture Batch mode High performance

13 13 Experiences System Telecommunication domain 15 years, 150 change requests/year 3.5 MLOC C++, COBOL, Java Lessons learned Way of presentation is crucial Well-foundedness helped to overcome scepticism Tool-supported quality controlling was perceived as great benefit Fostered lasting quality discussion Identification of previously unknown quality factors

14 14 Conclusion & Future Work Conclusion Maintainability, a key success factor, lacks an accepted definition. There is no such thing as»the maintainability of a system«. Maintainability depends on the maintenance activities carried out. Maintainability does not depend on the product only. Future Work Define model for maintainability of embedded systems (with MAN). In-depth analysis of a very small set of facts regarding the development infrastructure for mainframes (with BMW). Apply model to other quality attributes like usability.

Software Metrics. Lines of Code

Software Metrics. Lines of Code Software Metrics Naveed Arshad Lines of Code The total number of lines of executable code in the software program or module being measured But lines of code could mean anything e.g. count only executable

More information

Software product quality control Dr. Stefan Wagner Dr. Florian Deißenböck Technische Universität München

Software product quality control Dr. Stefan Wagner Dr. Florian Deißenböck Technische Universität München Tool-supported Software product quality control Dr. Stefan Wagner Dr. Florian Deißenböck Technische Universität München Google Developer Day Munich November 9, 2010 Continuous Quality Control Quality Model

More information

CHAPTER 4 HEURISTICS BASED ON OBJECT ORIENTED METRICS

CHAPTER 4 HEURISTICS BASED ON OBJECT ORIENTED METRICS CHAPTER 4 HEURISTICS BASED ON OBJECT ORIENTED METRICS Design evaluation is most critical activity during software development process. Design heuristics are proposed as a more accessible and informal means

More information

Software Quality. Richard Harris

Software Quality. Richard Harris Software Quality Richard Harris Part 1 Software Quality 143.465 Software Quality 2 Presentation Outline Defining Software Quality Improving source code quality More on reliability Software testing Software

More information

Acknowledgments. Who Should Read This Book How to Read This Book

Acknowledgments. Who Should Read This Book How to Read This Book Contents p. i Dedication p. xix Acknowledgments p. xix Foreword p. xxi Introduction p. xxiii Who Should Read This Book p. xxiv How to Read This Book p. xxvi About the Author p. xxvii Background 1 Ten Commandments

More information

Metrics and OO. SE 3S03 - Tutorial 12. Alicia Marinache. Week of Apr 04, Department of Computer Science McMaster University

Metrics and OO. SE 3S03 - Tutorial 12. Alicia Marinache. Week of Apr 04, Department of Computer Science McMaster University and OO OO and OO SE 3S03 - Tutorial 12 Department of Computer Science McMaster University Complexity Lorenz CK Week of Apr 04, 2016 Acknowledgments: The material of these slides is based on [1] (chapter

More information

Analysis of Various Software Metrics Used To Detect Bad Smells

Analysis of Various Software Metrics Used To Detect Bad Smells The International Journal Of Engineering And Science (IJES) Volume 5 Issue 6 Pages PP -14-20 2016 ISSN (e): 2319 1813 ISSN (p): 2319 1805 Analysis of Various Software Metrics Used To Detect Bad Smells

More information

Using Metrics To Manage Software Risks. 1. Introduction 2. Software Metrics 3. Case Study: Measuring Maintainability 4. Metrics and Quality

Using Metrics To Manage Software Risks. 1. Introduction 2. Software Metrics 3. Case Study: Measuring Maintainability 4. Metrics and Quality Using Metrics To Manage Software Risks 1. Introduction 2. Software Metrics 3. Case Study: Measuring Maintainability 4. Metrics and Quality 1 1. Introduction Definition Measurement is the process by which

More information

Bionic. Christoph. Code analysis, quality and security overview. July 26 th 2017

Bionic. Christoph. Code analysis, quality and security overview. July 26 th 2017 Bionic Code analysis, quality and security overview Christoph July 26 th 2017 stat /proc/self PhD on reflective OS architectures FOSS enthusiast (Linux fan since kernel 0.95) Tech support @ FraLUG (including

More information

MTAT : Software Testing

MTAT : Software Testing MTAT.03.159: Software Testing Lecture 03: White-Box Testing (Textbook Ch. 5) Spring 2013 Dietmar Pfahl email: dietmar.pfahl@ut.ee Lecture Chapter 5 White-box testing techniques (Lab 3) Structure of Lecture

More information

By V-cubed Solutions, Inc. Page1. All rights reserved by V-cubed Solutions, Inc.

By V-cubed Solutions, Inc.   Page1. All rights reserved by V-cubed Solutions, Inc. By V-cubed Solutions, Inc. Page1 Purpose of Document This document will demonstrate the efficacy of CODESCROLL CODE INSPECTOR, CONTROLLER TESTER, and QUALITYSCROLL COVER, which has been developed by V-cubed

More information

Introduction To Software Testing. Brian Nielsen. Center of Embedded Software Systems Aalborg University, Denmark CSS

Introduction To Software Testing. Brian Nielsen. Center of Embedded Software Systems Aalborg University, Denmark CSS Introduction To Software Testing Brian Nielsen bnielsen@cs.aau.dk Center of Embedded Software Systems Aalborg University, Denmark CSS 1010111011010101 1011010101110111 What is testing? Testing Testing:

More information

Quantify the project. Better Estimates. Resolve Software crises

Quantify the project. Better Estimates. Resolve Software crises Quantify the project Quantifying schedule, performance,work effort, project status Helps software to be compared and evaluated Better Estimates Use the measure of your current performance to improve your

More information

Fault Tolerant Computing CS 530 Software Reliability: Static Factors. Yashwant K. Malaiya Colorado State University

Fault Tolerant Computing CS 530 Software Reliability: Static Factors. Yashwant K. Malaiya Colorado State University Fault Tolerant Computing CS 530 Software Reliability: Static Factors Yashwant K. Malaiya Colorado State University 1 Class Notes Project Proposal due 3/2/2018 Midterm 3/8/2018, Thurs OC (+ local distance):

More information

Technical Metrics for OO Systems

Technical Metrics for OO Systems Technical Metrics for OO Systems 1 Last time: Metrics Non-technical: about process Technical: about product Size, complexity (cyclomatic, function points) How to use metrics Prioritize work Measure programmer

More information

EmpAnADa Project. Christian Lange. June 4 th, Eindhoven University of Technology, The Netherlands.

EmpAnADa Project. Christian Lange. June 4 th, Eindhoven University of Technology, The Netherlands. EmpAnADa Project C.F.J.Lange@tue.nl June 4 th, 2004 Eindhoven University of Technology, The Netherlands Outline EmpAnADa introduction Part I Completeness and consistency in detail Part II Background UML

More information

Tool Support for Continuous Quality Assessment

Tool Support for Continuous Quality Assessment Tool Support for Continuous Quality Assessment Florian Deissenboeck, Markus Pizka, Tilman Seifert Software & Systems Engineering Technische Universität München 85748 Garching, Germany Abstract Maintenance

More information

THE BCS PROFESSIONAL EXAMINATION BCS Level 6 Professional Graduate Diploma in IT September 2017 EXAMINERS REPORT. Software Engineering 2

THE BCS PROFESSIONAL EXAMINATION BCS Level 6 Professional Graduate Diploma in IT September 2017 EXAMINERS REPORT. Software Engineering 2 General Comments THE BCS PROFESSIONAL EXAMINATION BCS Level 6 Professional Graduate Diploma in IT September 2017 EXAMINERS REPORT Software Engineering 2 The pass rate was 40% representing the lowest mark

More information

WEB & MOBILE AUTOMATION

WEB & MOBILE AUTOMATION WEB & MOBILE AUTOMATION 11 th Feb 2017 Presenter: (CoE) 9 Mansi, 5 th Floor, Cross Lane No. 1, Ram Maruti Road, Thane West Email: info@educognitio.com Phone: +91 (0)22 65555131 Web:http://www.educognitio.com

More information

Reverse Engineering in practice. Joost Gabriels, Serguei Roubtsov, Alexander Serebrenik LaQuSo & SET

Reverse Engineering in practice. Joost Gabriels, Serguei Roubtsov, Alexander Serebrenik LaQuSo & SET Reverse Engineering in practice Joost Gabriels, Serguei Roubtsov, Alexander Serebrenik LaQuSo & SET Engineering principle Construct Improve Maintain Assess (Re)use We need models! / LaQuSo / Mathematics

More information

Analyzing the Product Line Adequacy of Existing Components

Analyzing the Product Line Adequacy of Existing Components Analyzing the Product Line Adequacy of Existing Components Jens Knodel and Dirk Muthig Fraunhofer Institute for Experimental Software Engineering (IESE), Fraunhofer-Platz 1, D-67663 Kaiserslautern, Germany

More information

Maintainability Index Variation Among PHP, Java, and Python Open Source Projects

Maintainability Index Variation Among PHP, Java, and Python Open Source Projects Maintainability Index Variation Among PHP, Java, and Python Open Source Projects Celia Chen 1, Lin Shi 2, Kamonphop Srisopha 1 1 Computer Science Department, USC 2 Laboratory for Internet Software Technologies,

More information

IBM WebSphere Studio Asset Analyzer, Version 5.1

IBM WebSphere Studio Asset Analyzer, Version 5.1 Helping you quickly understand, enhance and maintain enterprise applications IBM, Version 5.1 Highlights n Provides interactive textual n Helps shorten the learning curve and graphic reports that help

More information

Introduction to Software Engineering

Introduction to Software Engineering Introduction to Software Engineering (CS350) Lecture 17 Jongmoon Baik Testing Conventional Applications 2 Testability Operability it operates cleanly Observability the results of each test case are readily

More information

2IS55 Software Evolution. Software metrics (2) Alexander Serebrenik

2IS55 Software Evolution. Software metrics (2) Alexander Serebrenik 2IS55 Software Evolution Software metrics (2) Alexander Serebrenik Administration Assignment 5: Deadline: May 22 1-2 students Next week NO CLASS Next class May 15 / SET / W&I 2-5-2012 PAGE 1 Sources /

More information

A Hierarchical Model for Object- Oriented Design Quality Assessment

A Hierarchical Model for Object- Oriented Design Quality Assessment A Hierarchical Model for Object- Oriented Design Quality Assessment IEEE Transactions on Software Engineering (2002) Jagdish Bansiya and Carl G. Davis 2013-08-22 Yoo Jin Lim Contents Introduction Background

More information

Investigation of Metrics for Object-Oriented Design Logical Stability

Investigation of Metrics for Object-Oriented Design Logical Stability Investigation of Metrics for Object-Oriented Design Logical Stability Mahmoud O. Elish Department of Computer Science George Mason University Fairfax, VA 22030-4400, USA melish@gmu.edu Abstract As changes

More information

YBS ORACLE FORMS APPLICATION STRATEGY IN A SOA WORLD

YBS ORACLE FORMS APPLICATION STRATEGY IN A SOA WORLD 07/05/2015 YBS ORACLE FORMS APPLICATION STRATEGY IN A SOA WORLD Created by: Graham Brown, Application Architecture Manager Public AGENDA Background to Yorkshire Building Society History of YBS Oracle Forms

More information

LEVERAGING LIGHTWEIGHT ANALYSES TO AID SOFTWARE MAINTENANCE ZACHARY P. FRY PHD PROPOSAL

LEVERAGING LIGHTWEIGHT ANALYSES TO AID SOFTWARE MAINTENANCE ZACHARY P. FRY PHD PROPOSAL LEVERAGING LIGHTWEIGHT ANALYSES TO AID SOFTWARE MAINTENANCE ZACHARY P. FRY PHD PROPOSAL MAINTENANCE COSTS For persistent systems, software maintenance can account for up to 90% of the software lifecycle

More information

WRITING QUALITY CODE IDEAS, TECHNIQUES AND TOOLS FOR IMPROVING THE QUALITY OF WRITTEN CODE

WRITING QUALITY CODE IDEAS, TECHNIQUES AND TOOLS FOR IMPROVING THE QUALITY OF WRITTEN CODE WRITING QUALITY CODE IDEAS, TECHNIQUES AND TOOLS FOR IMPROVING THE QUALITY OF WRITTEN CODE Radosław Jankiewicz / @radek_j / radekj WHO AM I Programming in Python since 2007 Web applications (mostly) RANDOM

More information

Tutorial to Building Automation Frameworksfor Web Services Testing

Tutorial to Building Automation Frameworksfor Web Services Testing STC 2013 Tutorial to Building Automation Frameworksfor Web Services Testing By: Tushar Sharad Archana Shenoy Deloitte Consulting India Ltd Plot No #14,15 RMZ Futura Deloitte Drive, Hitech City Hyderabad

More information

What are Metrics?! Functions, that assign a precise numerical value to. Detecting Design Problems using Metrics

What are Metrics?! Functions, that assign a precise numerical value to. Detecting Design Problems using Metrics Detecting Design Problems using Metrics What are Metrics?! Functions, that assign a precise numerical value to! Products (Software)! Resources (Staff, Tools, Hardware)! Processes (Software development).

More information

MTAT : Software Testing

MTAT : Software Testing MTAT.03.159: Software Testing Lecture 03: White-Box Testing (Textbook Ch. 5) Dietmar Pfahl Spring 2016 email: dietmar.pfahl@ut.ee Lecture Chapter 5 White-box testing techniques (Lab 3) Structure of Lecture

More information

Empirical Evaluation and Critical Review of Complexity Metrics for Software Components

Empirical Evaluation and Critical Review of Complexity Metrics for Software Components Proceedings of the 6th WSEAS Int. Conf. on Software Engineering, Parallel and Distributed Systems, Corfu Island, Greece, February 16-19, 2007 24 Empirical Evaluation and Critical Review of Complexity Metrics

More information

ICSE MET 17 Keynote. Metamorphic Testing: Beyond Testing Numerical Computations

ICSE MET 17 Keynote. Metamorphic Testing: Beyond Testing Numerical Computations ICSE MET 17 Keynote Metamorphic Testing: Beyond Testing Numerical Computations Dr. Zhi Quan (George) Zhou Associate Professor University of Wollongong Australia zhiquan@uow.edu.au 1 Why this topic? Observation:

More information

Certified Software Quality Engineer Preparation On Demand, Web-Based Course Offered by The Westfall Team

Certified Software Quality Engineer Preparation On Demand, Web-Based Course Offered by The Westfall Team Certified Software Quality Engineer (CSQE) Preparation course is an on demand, web-based course design to be a comprehensive, in-depth review of the topics in the ASQ s Certified Software Quality Engineer

More information

J2EE Development Best Practices: Improving Code Quality

J2EE Development Best Practices: Improving Code Quality Session id: 40232 J2EE Development Best Practices: Improving Code Quality Stuart Malkin Senior Product Manager Oracle Corporation Agenda Why analyze and optimize code? Static Analysis Dynamic Analysis

More information

[Sample] Quality Report: <<project>>

[Sample] Quality Report: <<project>> Client: Document no: Author: XYZ-001-D01-A Byran Wills-Heath [Sample] Overall Score Habitability Scalability Reliability BLUEFRUIT is a Registered Trade Mark of Absolute Software Ltd Registered

More information

Requirements Engineering: Specification & Validation. Software Requirements and Design CITS 4401 Lecture 18

Requirements Engineering: Specification & Validation. Software Requirements and Design CITS 4401 Lecture 18 Requirements Engineering: Specification & Validation Software Requirements and Design CITS 4401 Lecture 18 The Problems of Requirements What goal(s) are we trying to satisfy? How do we identify the scope

More information

Feasibility of Testing to Code. Feasibility of Testing to Code. Feasibility of Testing to Code. Feasibility of Testing to Code (contd)

Feasibility of Testing to Code. Feasibility of Testing to Code. Feasibility of Testing to Code. Feasibility of Testing to Code (contd) Feasibility of Testing to Code (contd) Feasibility of Testing to Code (contd) An incorrect code fragment for determining if three integers are equal, together with two test cases Flowchart has over 10

More information

A Systematic Review of Bad Smells Metrics. Luiz Paulo Coelho Ferreira

A Systematic Review of Bad Smells Metrics. Luiz Paulo Coelho Ferreira A Systematic Review of Bad Smells Metrics Luiz Paulo Coelho Ferreira Motivation One of the main goals in Software Engineering is to transform software development in a process predictable and controlled.

More information

CS 370 The Pseudocode Programming Process D R. M I C H A E L J. R E A L E F A L L

CS 370 The Pseudocode Programming Process D R. M I C H A E L J. R E A L E F A L L CS 370 The Pseudocode Programming Process D R. M I C H A E L J. R E A L E F A L L 2 0 1 5 Introduction At this point, you are ready to beginning programming at a lower level How do you actually write your

More information

Managing Software Risks. Software Intensive Systems

Managing Software Risks. Software Intensive Systems Managing Software Risks in Software Intensive Systems with Metrics and Measures Robert A. Martin 13 April 2004 The views expressed in this presentation are those of the authors and do not necessarily reflect

More information

Managing Software Risks with Metrics and Measures

Managing Software Risks with Metrics and Measures Managing Software Risks with Metrics and Measures Robert A. Martin 2 May 2002 The views expressed in this presentation are those of the authors and do not necessarily reflect the policies or position of

More information

Full file at

Full file at Chapter 2 Data Warehousing True-False Questions 1. A real-time, enterprise-level data warehouse combined with a strategy for its use in decision support can leverage data to provide massive financial benefits

More information

International Journal of Software and Web Sciences (IJSWS) EVALUATING TESTABILITY OF OBJECT ORIENTED SYSTEM

International Journal of Software and Web Sciences (IJSWS)   EVALUATING TESTABILITY OF OBJECT ORIENTED SYSTEM International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research) ISSN (Print): 2279-0063 ISSN (Online): 2279-0071 International

More information

Measuring software size

Measuring software size Measuring software size a question to start with have you ever written a large program? if so how did you know it was large? 2 outline ideas and problems associated with measuring software size assessing

More information

Principles of Programming Languages. Lecture Outline

Principles of Programming Languages. Lecture Outline Principles of Programming Languages CS 492 Lecture 1 Based on Notes by William Albritton 1 Lecture Outline Reasons for studying concepts of programming languages Programming domains Language evaluation

More information

A software modularity metric Joost Zonneveld Bram Schoenmakers

A software modularity metric Joost Zonneveld Bram Schoenmakers A software modularity metric Joost Zonneveld Bram Schoenmakers 2016-02-02 ASML In 40 Seconds Slide 2 New devices, new applications Slide 3 Wearable sensors (Holst Centre) Imaging drone to monitor crop

More information

CS 6V Using Reverse Engineering Practices to Improve Systems-of-Systems Understanding. Tom Hill

CS 6V Using Reverse Engineering Practices to Improve Systems-of-Systems Understanding. Tom Hill CS 6V81-05 Using Reverse Engineering Practices to Improve Systems-of-Systems Understanding Tom Hill Department of Computer Science The University of Texas at Dallas November 11 th, 2011 Outline Research

More information

Outline. Problem statement

Outline. Problem statement Outline CS 6V81-05 Using Reverse Engineering Practices to Improve Systems-of-Systems Understanding Tom Hill Department of Computer Science The University of Texas at Dallas November 11 th, 2011 Research

More information

Overview. Writing Clean Code. Key Elements of Clean Code. What is clean code? Modifiability & Extensibility. Overview. Importance of Clean Code

Overview. Writing Clean Code. Key Elements of Clean Code. What is clean code? Modifiability & Extensibility. Overview. Importance of Clean Code Writing Clean Code Group 9 Lukas Escher, Cole Franz, Ashkan Hemmati, Scott McKay, James Robertson, Andrew Tang, Stanislav Tserkovny : What is Clean Code? Key Elements of Clean Code Importance of Clean

More information

Security Management Models And Practices Feb 5, 2008

Security Management Models And Practices Feb 5, 2008 TEL2813/IS2820 Security Management Security Management Models And Practices Feb 5, 2008 Objectives Overview basic standards and best practices Overview of ISO 17799 Overview of NIST SP documents related

More information

It is primarily checking of the code and/or manually reviewing the code or document to find errors This type of testing can be used by the developer

It is primarily checking of the code and/or manually reviewing the code or document to find errors This type of testing can be used by the developer Static testing Static testing is a software testing method that involves examination of the program's code and its associated documentation but does not require the program be executed. Dynamic testing,

More information

IBM Software Group. Mastering Requirements Management with Use Cases Module 8: Refine the System Definition

IBM Software Group. Mastering Requirements Management with Use Cases Module 8: Refine the System Definition IBM Software Group Mastering Requirements Management with Use Cases Module 8: Refine the System Definition 1 Objectives Describe design constraints. Identify methods of specifying functional requirements.

More information

ARiSA First Contact Analysis

ARiSA First Contact Analysis ARiSA First Contact Analysis Applied Research In System Analysis - ARiSA You cannot control what you cannot measure Tom DeMarco Software Grail Version 1.3 Programming Language Java 1.4 Date 2 nd of December,

More information

The Modern Mainframe. IBM Systems. Powerful, secure, dependable and easier to use. Bernice Casey System z User Experience

The Modern Mainframe. IBM Systems. Powerful, secure, dependable and easier to use. Bernice Casey System z User Experience Powerful, secure, dependable and easier to use Bernice Casey (casey@us.ibm.com) System z User Experience Steven Ma (stevenma@us.ibm.com) Application Integration Middleware User Experience 2006 IBM Corporation

More information

Maximize Your Assets Securely and Cost Effectively

Maximize Your Assets Securely and Cost Effectively S E N T I N E L P O I N T S E R V I C E S Maximize Your Assets Securely and Cost Effectively Competently track and manage your communication system and network through Altura Sentinel Point Services. We

More information

Quality Assurance = Testing? SOFTWARE QUALITY ASSURANCE. Meaning of Quality. How would you define software quality? Common Measures.

Quality Assurance = Testing? SOFTWARE QUALITY ASSURANCE. Meaning of Quality. How would you define software quality? Common Measures. Quality Assurance = Testing? SOFTWARE QUALITY ASSURANCE William W. McMillan Meaning of Quality Error-free How define an error? Client is happy (we get paid!). User is happy (we are loved!). Stable (we

More information

Flexible Architecture Conformance Assessment with ConQAT

Flexible Architecture Conformance Assessment with ConQAT Flexible Architecture Conformance Assessment with ConQAT Florian Deissenboeck, Lars Heinemann, Benjamin Hummel, Elmar Juergens Technische Universität München ICSE 2010 Cape Town Software Architecture Software

More information

IBM Rational Developer for System z Version 7.5

IBM Rational Developer for System z Version 7.5 Providing System z developers with tools for building traditional and composite applications in an SOA and Web 2.0 environment IBM Rational Developer for System z Version 7.5 Highlights Helps developers

More information

SOFTWARE COMPLEXITY MEASUREMENT USING MULTIPLE CRITERIA ABSTRACT

SOFTWARE COMPLEXITY MEASUREMENT USING MULTIPLE CRITERIA ABSTRACT SOFTWARE COMPLEXITY MEASUREMENT USING MULTIPLE CRITERIA Bhaskar Raj Sinha, Pradip Peter Dey, Mohammad Amin and Hassan Badkoobehi National University, School of Engineering, Technology, and Media 3678 Aero

More information

Training & Documentation. Different Users. Types of training. Reading: Chapter 10. User training (what the system does)

Training & Documentation. Different Users. Types of training. Reading: Chapter 10. User training (what the system does) Training & Documentation Reading: Chapter 10 Different Users Types of training User training (what the system does) Operator training (how the system works) Special training needs: new users vs. brush-up

More information

COMP 201: Principles of Programming

COMP 201: Principles of Programming COMP 201: Principles of Programming 1 Learning Outcomes To understand what computing entails and what the different branches of computing are. To understand the basic design of a computer and how it represents

More information

Why testing and analysis. Software Testing. A framework for software testing. Outline. Software Qualities. Dependability Properties

Why testing and analysis. Software Testing. A framework for software testing. Outline. Software Qualities. Dependability Properties Why testing and analysis Software Testing Adapted from FSE 98 Tutorial by Michal Young and Mauro Pezze Software is never correct no matter what developing testing technique is used All software must be

More information

SOFTWARE ENGINEERING AND PROJECT MAN AGEMENT

SOFTWARE ENGINEERING AND PROJECT MAN AGEMENT SOFTWARE ENGINEERING AND PROJECT MAN AGEMENT Question: Difference between Verification and Validation? Answer: Verification ensures the product is designed to deliver all functionality to the customer;

More information

Management. Software Quality. Dr. Stefan Wagner Technische Universität München. Garching 28 May 2010

Management. Software Quality. Dr. Stefan Wagner Technische Universität München. Garching 28 May 2010 Technische Universität München Software Quality Management Dr. Stefan Wagner Technische Universität München Garching 28 May 2010 Some of these slides were adapted from the tutorial "Clone Detection in

More information

Microservices Smaller is Better? Eberhard Wolff Freelance consultant & trainer

Microservices Smaller is Better? Eberhard Wolff Freelance consultant & trainer Microservices Smaller is Better? Eberhard Wolff Freelance consultant & trainer http://ewolff.com Why Microservices? Why Microservices? Strong modularization Replaceability Small units Sustainable Development

More information

Web Application Performance Testing with MERCURY LOADRUNNER

Web Application Performance Testing with MERCURY LOADRUNNER Web Application Performance Testing with MERCURY LOADRUNNER Course Overview (17 lessons) Introduction...2 1. Introduction...2 Web Application Development - overview and terminology...3 2. Two tiers configuration...3

More information

Non Functional Product Requirements (illeties)

Non Functional Product Requirements (illeties) Non Functional Product Requirements (illeties) MANAGEMENT SUMMARY This whitepaper list several Non functional, Illeties or Quality Requirements Non Functional Product Requirements (illeties) ImQuSo White

More information

Design Metrics for Object-Oriented Software Systems

Design Metrics for Object-Oriented Software Systems ECOOP 95 Quantitative Methods Workshop Aarhus, August 995 Design Metrics for Object-Oriented Software Systems PORTUGAL Design Metrics for Object-Oriented Software Systems Page 2 PRESENTATION OUTLINE This

More information

Building In Quality. Ten Years Later

Building In Quality. Ten Years Later Building In Quality Ten Years Later 2017 Iberle Consulting Group, Inc. 2 2017 Iberle Consulting Group, Inc. 3 Some software just has to work By Lothar Neumann, Gernsbach [1] - Karlsruhe:Bild:Philippsburg2.jpg,

More information

Software Design & Evolution. Lecture 04. You cannot control what you cannot measure. Metrics & Problem Detection. Michele Lanza

Software Design & Evolution. Lecture 04. You cannot control what you cannot measure. Metrics & Problem Detection. Michele Lanza Software Design & Evolution Lecture 04 Michele Lanza Metrics & Problem Detection Metrics? Don t trust them Michele Lanza & Radu Marinescu Object-Oriented Metrics in Practice Using Software Metrics to Characterize,

More information

Standard Glossary of Terms used in Software Testing. Version 3.2. Foundation Extension - Usability Terms

Standard Glossary of Terms used in Software Testing. Version 3.2. Foundation Extension - Usability Terms Standard Glossary of Terms used in Software Testing Version 3.2 Foundation Extension - Usability Terms International Software Testing Qualifications Board Copyright Notice This document may be copied in

More information

Event Driven Architecture in software development projects

Event Driven Architecture in software development projects Master Thesis Computing Science Event Driven Architecture in software development projects Author: Maxime Klusman Supervisor Radboud University: Prof.dr.ir. Rinus Plasmeijer Supervisor Sogyo: Drs. Ralf

More information

MEASURE YOUR CODE USING CODE METRICS. CS 599 Software Metrics and Models Hana Alarifi

MEASURE YOUR CODE USING CODE METRICS. CS 599 Software Metrics and Models Hana Alarifi MEASURE YOUR CODE USING CODE METRICS CS 599 Software Metrics and Models Hana Alarifi Overview Quality code is the top priority for a good developer. The code must be not only bug free code but also understandable,

More information

About this exam review

About this exam review Final Exam Review About this exam review I ve prepared an outline of the material covered in class May not be totally complete! Exam may ask about things that were covered in class but not in this review

More information

Basics of Software Testing-I UNIT I Software Testing. Software is used in many applications of the real world. Some of the examples are

Basics of Software Testing-I UNIT I Software Testing. Software is used in many applications of the real world. Some of the examples are SOFTWARE TESTING Basics of Software Testing-I In this chapter, we discuss the following topics: 1. Introduction to Software Testing 2. Understanding Error, Fault and Failure 3. Software Quality Attributes

More information

MTAT : Software Testing

MTAT : Software Testing MTAT.03.159: Software Testing Lecture 03: White-Box Testing (Textbook Ch. 5) Dietmar Pfahl Spring 2017 email: dietmar.pfahl@ut.ee Lecture Chapter 5 White-box testing techniques (Lab 3) Structure of Lecture

More information

Implementation Architecture

Implementation Architecture Implementation Architecture Software Architecture VO/KU (707023/707024) Roman Kern ISDS, TU Graz 2017-11-15 Roman Kern (ISDS, TU Graz) Implementation Architecture 2017-11-15 1 / 54 Outline 1 Definition

More information

Professional Profile. Bodo Piening Die Alten Gärten Burgdorf

Professional Profile. Bodo Piening Die Alten Gärten Burgdorf Professional Profile Bodo Piening Die Alten Gärten 9 31303 Burgdorf IT-Beratung@bodopiening.de 0172 32 69 146 Day of birth: 17.08.1959 Family status: married SUCCESS PROFILE Formulation of a comprehensive

More information

Printing Less and Saving More

Printing Less and Saving More Printing Less and Saving More How the FAA achieved significant cost and green savings by optimizing its output infrastructure Mr. Richard Boe Manager, Infrastructure Services Delivery Group

More information

CodeDynamics 2018 Release Notes

CodeDynamics 2018 Release Notes These release notes contain a summary of new features and enhancements, late-breaking product issues, migration from earlier releases, and bug fixes. PLEASE NOTE: The version of this document in the product

More information

The «SQALE» Models for assessing the Quality of Software Source Code

The «SQALE» Models for assessing the Quality of Software Source Code The «SQALE» Models for assessing the Quality of Software Source Code Quality Model and Analysis Model The need to assess and know the quality of the software one has required or payed for is not new. When

More information

Hypervisor-based Fault-tolerance. Where should RC be implemented? The Hypervisor as a State Machine. The Architecture. In hardware

Hypervisor-based Fault-tolerance. Where should RC be implemented? The Hypervisor as a State Machine. The Architecture. In hardware Where should RC be implemented? In hardware sensitive to architecture changes At the OS level state transitions hard to track and coordinate At the application level requires sophisticated application

More information

CSE 374 Programming Concepts & Tools. Brandon Myers Winter 2015 Lecture 11 gdb and Debugging (Thanks to Hal Perkins)

CSE 374 Programming Concepts & Tools. Brandon Myers Winter 2015 Lecture 11 gdb and Debugging (Thanks to Hal Perkins) CSE 374 Programming Concepts & Tools Brandon Myers Winter 2015 Lecture 11 gdb and Debugging (Thanks to Hal Perkins) Hacker tool of the week (tags) Problem: I want to find the definition of a function or

More information

1. Which programming language is used in approximately 80 percent of legacy mainframe applications?

1. Which programming language is used in approximately 80 percent of legacy mainframe applications? Volume: 59 Questions 1. Which programming language is used in approximately 80 percent of legacy mainframe applications? A. Visual Basic B. C/C++ C. COBOL D. Java Answer: C 2. An enterprise customer's

More information

8/27/17. CS-3304 Introduction. What will you learn? Semester Outline. Websites INTRODUCTION TO PROGRAMMING LANGUAGES

8/27/17. CS-3304 Introduction. What will you learn? Semester Outline. Websites INTRODUCTION TO PROGRAMMING LANGUAGES CS-3304 Introduction In Text: Chapter 1 & 2 COURSE DESCRIPTION 2 What will you learn? Survey of programming paradigms, including representative languages Language definition and description methods Overview

More information

CAMERA User s Guide. They are most easily launched from the main menu application. To do this, all the class files must reside in the same directory.

CAMERA User s Guide. They are most easily launched from the main menu application. To do this, all the class files must reside in the same directory. CAMERA User s Guide 1 Quick Start CAMERA is a collection of concise, intuitive and visually inspiring workbenches for cache mapping schemes and virtual memory. The CAMERA workbenches are standalone applications

More information

Software Testing: A Craftsman s Approach, 4 th Edition. Chapter 16 Software Complexity

Software Testing: A Craftsman s Approach, 4 th Edition. Chapter 16 Software Complexity Chapter 16 Software Complexity Levels of Software Complexity Unit Level Topological (cyclomatic) complexity, based on a program graph Decisional complexity, a refinement of topological complexity, based

More information

Software Testing Strategies. Slides copyright 1996, 2001, 2005, 2009, 2014 by Roger S. Pressman. For non-profit educational use only

Software Testing Strategies. Slides copyright 1996, 2001, 2005, 2009, 2014 by Roger S. Pressman. For non-profit educational use only Chapter 22 Software Testing Strategies Slide Set to accompany Software Engineering: A Practitioner s Approach, 8/e by Roger S. Pressman and Bruce R. Maxim Slides copyright 1996, 2001, 2005, 2009, 2014

More information

MTAT : Software Testing

MTAT : Software Testing MTAT.03.159: Software Testing Lecture 02: Basic Black-Box and White-Box Testing Techniques (Textbook Ch. 4 & 5) Spring 2018 Dietmar Pfahl email: dietmar.pfahl@ut.ee Structure of Lecture 2 Black-Box vs.

More information

INFORMATION TECHNOLOGY (IT)

INFORMATION TECHNOLOGY (IT) INFORMATION TECHNOLOGY (IT) 202 Old Union Hall, (309) 438-8338 IT.IllinoisState.edu School Director: Mary Elaine Califf. Office: 202 Old Union. Graduate Program Director: Bee Lim. Graduate Faculty: Califf,

More information

CHAPTER 4 OBJECT ORIENTED COMPLEXITY METRICS MODEL

CHAPTER 4 OBJECT ORIENTED COMPLEXITY METRICS MODEL 64 CHAPTER 4 OBJECT ORIENTED COMPLEXITY METRICS MODEL 4.1 INTRODUCTION Customers measure the aspects of the final product to determine whether it meets the requirements and provides sufficient quality.

More information

Low Level Design Activities. Implementation (Low Level Design) What is a Good Low Level Module? Black Box Aspects. Black box aspects White box aspects

Low Level Design Activities. Implementation (Low Level Design) What is a Good Low Level Module? Black Box Aspects. Black box aspects White box aspects Low Level Design Activities Implementation (Low Level Design) Implement Document Deskcheck Basic Test PVK--HT00 Copyright 1997-1999, jubo@cs.umu.se/epltos@epl.ericsson.se 2 What is a Good Low Level Module?

More information

The Art of Unit Testing

The Art of Unit Testing The Art of Unit Testing with Examplee in.net Roy Oeberove 11 MANNING Greenwich (74 w. long.) Contents foreword t xv preface xvii acknowledgments xix about this book xx about the cover illustration XXIII

More information

TEL2813/IS2820 Security Management

TEL2813/IS2820 Security Management TEL2813/IS2820 Security Management Security Management Models And Practices Lecture 6 Jan 27, 2005 Introduction To create or maintain a secure environment 1. Design working security plan 2. Implement management

More information

Cross-project defect prediction. Thomas Zimmermann Microsoft Research

Cross-project defect prediction. Thomas Zimmermann Microsoft Research Cross-project defect prediction Thomas Zimmermann Microsoft Research Upcoming Events ICSE 2010: http://www.sbs.co.za/icse2010/ New Ideas and Emerging Results ACM Student Research Competition (SRC) sponsored

More information

Architectural Design

Architectural Design Architectural Design Topics i. Architectural design decisions ii. Architectural views iii. Architectural patterns iv. Application architectures Chapter 6 Architectural design 2 PART 1 ARCHITECTURAL DESIGN

More information

Resource Estimation for Objectory Projects

Resource Estimation for Objectory Projects Resource Estimation for Objectory Projects Gustav Karner Objective Systems SF AB Torshamnsgatan 39, Box 1128 164 22 Kista email: gustav@os.se September 17, 1993 Abstract In order to estimate the resources

More information