Development By The Numbers
|
|
- Elizabeth Miles
- 5 years ago
- Views:
Transcription
1 Development By The Numbers
2
3
4
5
6 We Are Going To Measure Complexity
7 Why Should We Care About Complexity?
8 "The Central Enemy Of Reliability is Complexity" - Geer et al.
9 Complexity And Quality Are Strongly Related
10
11 Basic Metrics
12 Cyclomatic Complexity
13 Cyclomatic Complexity Number Of "Decision Points" In A Routine
14 function foo($a, $b) { $c = 0; if ($a) { $c = $a; elseif ($b) { $c = $b; if ($a && $b) { $c = $a + $b; return $c;
15 function foo($a, $b) { $c = 0; if ($a) { $c = $a; elseif ($b) { $c = $b; if ($a && $b) { $c = $a + $b; return $c;
16 function foo($a, $b) { $c = 0; if ($a) { $c = $a; elseif ($b) { $c = $b; if ($a && $b) { $c = $a + $b; return $c; 4
17 Simple Right?
18
19 Cyclomatic Complexity (Single Method) 1-4: Low Complexity 5-7: Moderate Complexity 8-10: High Complexity 11+: Very High Complexity
20 Cyclomatic Complexity (Average Per Method) 1-2: 2-4: 4-6: 6+: Low Complexity Moderate Complexity High Complexity Very High Complexity
21 Compare: Average CC per Method Wordpress: 6.28 Drupal 7: 3.02 Drupal 8: 2.10 Symfony 2: 1.81 Zend Framework 2: 2.62 Laravel: 1.79
22 Cyclomatic Complexity (Average Per Line Of Code) : : :.15+: Low Complexity Moderate Complexity High Complexity Very High Complexity
23 Compare: Average CC per LOC Wordpress: 0.20 Drupal 7: 0.04 Drupal 8: 0.07 Symfony 2: 0.06 Zend Framework 2: 0.10 Laravel: 0.07
24
25 N-Path Complexity
26 N-Path Complexity Number Of "Unique Paths" In A Routine
27 function foo($a, $b) { $c = 0; if ($a) { $c = $a; elseif ($b) { $c = $b; if ($a && $b) { $c = $a + $b; return $c;
28 function foo($a, $b) { $c = 0; if ($a) { $c = $a; elseif ($b) { $c = $b; if ($a && $b) { $c = $a + $b; return $c;
29 function foo($a, $b) { $c = 0; if ($a) { $c = $a; elseif ($b) { $c = $b; if ($a && $b) { $c = $a + $b; return $c;
30 function foo($a, $b) { $c = 0; if ($a) { $c = $a; elseif ($b) { $c = $b; if ($a && $b) { $c = $a + $b; return $c;
31 function foo($a, $b) { $c = 0; if ($a) { $c = $a; elseif ($b) { $c = $b; if ($a && $b) { $c = $a + $b; return $c;
32 function foo($a, $b) { $c = 0; if ($a) { $c = $a; elseif ($b) { $c = $b; if ($a && $b) { $c = $a + $b; return $c; 4
33 They Are The Same?
34 Not Generally!
35 function foo2($a, $b, $c) { $d = 0; if ($a) { $d += $a; if ($b) { $d += $b; if ($c) { $d += $c; return $d; CC: NPath:
36 function foo2($a, $b, $c) { $d = 0; if ($a) { $d += $a; if ($b) { $d += $b; if ($c) { $d += $c; return $d; CC: NPath:
37 function foo2($a, $b, $c) { $d = 0; if ($a) { $d += $a; if ($b) { $d += $b; if ($c) { $d += $c; return $d; CC: 4 NPath:
38 function foo2($a, $b, $c) { $d = 0; if ($a) { $d += $a; if ($b) { $d += $b; if ($c) { $d += $c; return $d; CC: 4 NPath:
39 function foo2($a, $b, $c) { $d = 0; if ($a) { $d += $a; if ($b) { $d += $b; if ($c) { $d += $c; return $d; CC: 4 NPath:
40 function foo2($a, $b, $c) { $d = 0; if ($a) { $d += $a; if ($b) { $d += $b; if ($c) { $d += $c; return $d; CC: 4 NPath:
41 function foo2($a, $b, $c) { $d = 0; if ($a) { $d += $a; if ($b) { $d += $b; if ($c) { $d += $c; return $d; CC: 4 NPath:
42 function foo2($a, $b, $c) { $d = 0; if ($a) { $d += $a; if ($b) { $d += $b; if ($c) { $d += $c; return $d; CC: 4 NPath:
43 function foo2($a, $b, $c) { $d = 0; if ($a) { $d += $a; if ($b) { $d += $b; if ($c) { $d += $c; return $d; CC: 4 NPath:
44 function foo2($a, $b, $c) { $d = 0; if ($a) { $d += $a; if ($b) { $d += $b; if ($c) { $d += $c; return $d; CC: 4 NPath:
45 function foo2($a, $b, $c) { $d = 0; if ($a) { $d += $a; if ($b) { $d += $b; if ($c) { $d += $c; return $d; CC: 4 NPath:
46 function foo2($a, $b, $c) { $d = 0; if ($a) { $d += $a; if ($b) { $d += $b; if ($c) { $d += $c; return $d; CC: 4 NPath: 8
47 function foo2($a, $b, $c) { $d = 0; if ($a) { $d += $a; if ($b) { $d += $b; if ($c) { $d += $c; return $d; CC: 4 NPath: 8 2^(CC-1)
48 N-Path Complexity <16: Low Complexity : Moderate Complexity : High Complexity 1025+: Very High Complexity
49
50 N-Path Complexity Minimum Number Of Tests Required To Completely Test A Routine
51
52
53 N-Path Complexity entity_load() CC: N-Path:
54 N-Path Complexity entity_load() CC: 2 N-Path:
55 Cyclomatic Complexity 1-4: Low Complexity 5-7: Moderate Complexity 8-10: High Complexity 11+: Very High Complexity
56 N-Path Complexity entity_load() CC: 2 N-Path: 2
57
58 N-Path Complexity drupal_http_request() CC: N-Path:
59
60
61
62
63 N-Path Complexity drupal_http_request() CC: 41 N-Path:
64 Cyclomatic Complexity 1-4: Low Complexity 5-7: Moderate Complexity 8-10: High Complexity 11+: Very High Complexity
65 N-Path Complexity drupal_http_request() CC: 41 N-Path: 25,303,344,960
66
67 To Completely Test drupal_http_request() At 1 Line Of Code Per Test Would Require 2 Terabytes Worth Of Tests
68 To Completely Test drupal_http_request() At 1 Line Of Code Per Test Would Require 412 DVD's Worth Of Tests
69 To Completely Test drupal_http_request() At 1 Line Of Code Per Test Would Require 670k Drupals Worth Of Tests
70 And That's Not The Worst One!
71
72 N-Path Complexity _date_repeat_rrule_process() CC: N-Path:
73 N-Path Complexity _date_repeat_rrule_process() CC: 81 N-Path:
74 N-Path Complexity _date_repeat_rrule_process() CC: 81 N-Path: 19,781,719,256
75 N-Path Complexity _date_repeat_rrule_process() CC: 81 N-Path: 19,781,719,256,250,000,000,000
76 N-Path Complexity _date_repeat_rrule_process() CC: 81 N-Path: 19,781,719,256,250,000,000,000,000,000,000
77 To Completely Test _date_repeat_rrule_process() At 1 Line Of Code Per Test Would Require 336T 2009's Worth Of Tests
78 To Completely Test _date_repeat_rrule_process() At 1 Line Of Code Per Test Would Require 1 Greenland Ice Cap of microsd cards Worth Of Tests
79
80 CRAP
81
82 CRAP (Change Risk Analysis Predictions)
83 CC = Cyclomatic Complexity (method) COV = Test Coverage (percent) CRAP = CC + (CC^2 * (1 - COV)^3)
84
85 CRAP Relates Complexity And Test Coverage
86 CRAP Increasing Test Coverage Lowers CRAP Decreasing Complexity Lowers CRAP
87 CRAP A Low Complexity Method With No Tests Is Good
88 CRAP A Low Complexity Method With Good Tests Is Great
89 CRAP A Moderate Complexity Method With Good Tests Is OK
90 CRAP A Moderate Complexity Method With No Tests Is CRAP
91 CRAP < 5: 5-15: 15-30: 30+: GREAT Code Acceptable Code Eih... Code CRAPpy Code
92
93 How Do We Apply These Metrics?
94
95
96
97 Sebastian Bergmann PHPUnit DbUnit PHPLOC PHPCPD PHPCOV hphpa
98 PHPLOC
99 PHPLOC By Sebastian Bergmann
100 PHPLOC By Sebastian Bergmann Command Line Tool
101 PHPLOC By Sebastian Bergmann Command Line Tool Summarizes An Entire Codebase
102 $ phploc path/to/drupal7/ Directories: 73 Files: 180 Lines of Code (LOC): Cyclomatic Complexity / Lines of Code: 0.04 Comment Lines of Code (CLOC): Non-Comment Lines of Code (NCLOC): 44026
103 Namespaces: 0 Interfaces: 1 Traits: 0 Classes: 38 Abstract: 2 (5.26%) Concrete: 36 (94.74%) Average Class Length (NCLOC): 197
104 Methods: 433 Scope: Non-Static: 378 (87.30%) Static: 55 (12.70%) Visibility: Public: 255 (58.89%) Non-Public: 178 (41.11%) Average Method Length (NCLOC): 17 Cyclomatic Complexity / Number of Methods: 3.02 Anonymous Functions: 0 Functions: 521 Constants: 22 Global constants: 15 Class constants: 7
105 PDepend
106 PDepend By Manuel Pichler (Also German)
107 PDepend By Manuel Pichler (Also German) Like PHPLOC, But Granular
108 PDepend By Manuel Pichler (Also German) Like PHPLOC, But Granular Lower Level Analysis
109
110 Fanout: Describes Outward Dependencies - Describes Dependence on Other Classes ANDC: Average Num of Derived Classes - Describes How Much Inheritance Is Used AHH: Average Hiearchy Height - Describes How Deep Of Inheritance Is Used
111 PHPMD (Mess Detector)
112 PHPMD By Manuel Pichler (German)
113 PHPMD By Manuel Pichler (German) Finds "Messy" Parts Of Code
114 PHPMD By Manuel Pichler (German) Finds "Messy" Parts Of Code Finds Rule Violations
115 PHPMD Rules CodeSize - (CC, NPath, Number of Methods, Size of Methods, etc) Design - (Eval, Goto, Exit(), Inheritance Depth) Naming - (Short names, Inconsistent Names) Unused Code Controversial - (Superglobal Access, Naming Conventions)
116
117 Prevent Complex Code From Even Getting In!
118 By Themselves Useful
119 Over Time
120 Over Time Invaluable
121 Drupal 8.x Branch Non-Comment Lines Of Code
122 Drupal 8.x Branch Number Of Classes
123 Drupal 8.x Branch Cyclomatic Complexity Per Method
124 Drupal 8.x Branch Cyclomatic Complexity Per Line
125 Drupal 8.x Branch
126
127
128
129 One More Thing To Keep In Mind
130
131
132 Anthony blog.ircmaxell.com github.com/ircmaxell youtube.com/ircmaxell
Reviewing PHP Code. Sebastian Bergmann July 27th sharing experience
Reviewing PHP Code Sebastian Bergmann July 27th 2011 Seba stian Why so negative? 2001 Columbia Pictures Industries, Inc. All Rights Reserved. Your code has been weighed, it has been measured, and it has
More informationDoes Your Code Measure Up?
Does Your Code Measure Up? By: Adam Culp Twitter: @adamculp https://joind.in/13300 2 About me PHP 5.3 Certified Consultant at Zend Technologies Organizer SoFloPHP (South Florida) Organized SunshinePHP
More informationDesign Quality Assessment in Practice
Design Quality Assessment in Practice my two hats... Radu Marinescu radum@cs.upt.ro Associate Professor since 006 Co-Founder and Head since 003 http://www.intooitus.com/ Co-Founder (008) Assessment with
More informationFOR0383 Software Quality Assurance
This method seems much, much bigger than all the other methods. FOR0383 Software Quality Assurance Lecture 15 Code metrics "You cannot control what you cannot measure." Tom DeMarco 2/11/2009 Dr Andy Brooks
More informationCHAPTER 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 informationEffizientere WordPress-Plugin-Entwicklung mit Softwaretests. Martin Schütte
Effizientere WordPress-Plugin-Entwicklung mit Softwaretests Martin Schütte About DECK36 Small team of 7 engineers Longstanding expertise in designing, implementing and operating complex web systems Developing
More information[IT6004-SOFTWARE TESTING] UNIT 2
1. List the two basic Testing strategies. UNIT 2 Black box testing. White box testing. 2. What are the knowledge sources for Black box testing? Requirements Document specification Domain knowledge Defect
More informationSoftware Metrics and Problem Detection
Software Metrics and Problem Detection Oscar Nierstrasz Yuriy Tymchuk Selected material by Mircea Lungu Roadmap > Software Metrics Size / Complexity Metrics Quality Metrics > Metric-Based Problem Detection
More informationEffective Modular Design
CSC40232: SOFTWARE ENGINEERING Professor: Jane Cleland Huang Metrics sarec.nd.edu/courses/se2017 Department of Computer Science and Engineering Effective Modular Design Modular design Reduces complexity
More informationStatic Metrics. Feature Brief
SOFTWARE QUALITY ASSURANCE TOOLS & TECHNOLOGY PROFESSIONAL SERVICES ACADEMY P a g e 1 Feature Brief Static Metrics Cantata provides a full and unique suite of intelligent testing capabilities for the efficient
More informationMEASURE 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 informationARiSA 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 informationSoftware 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 information1 Visible deviation from the specification or expected behavior for end-user is called: a) an error b) a fault c) a failure d) a defect e) a mistake
Sample ISTQB examination 1 Visible deviation from the specification or expected behavior for end-user is called: a) an error b) a fault c) a failure d) a defect e) a mistake 2 Regression testing should
More informationKostis Kapelonis Athens Greece, March 2010
Quality Metrics: GTE, CAP and CKJM Kostis Kapelonis Athens Greece, March 2010 Menu More Quality metrics: Google Testability Explorer (Starter) Code Analysis Plugin (Main Course) CKJM metrics (Dessert)
More informationAn Empirical Study of PHP Feature Usage: A Static Analysis Perspective
An Empirical Study of PHP Feature Usage: A Static Analysis Perspective Mark Hills, Paul Klint, and Jurgen J. Vinju CWI, Software Analysis and Transformation (SWAT) ISSTA 2013 Lugano, Switzerland July 16-18,
More informationSoftware 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 informationUnit Testen en embedded software Fout injectie en Software varianten
Unit Testen en embedded software Fout injectie en Software varianten Gerard Fianen INDES Integrated Development Solutions BV Agenda Ontwikkelingen in Unit Test & Code Coverage - Software varianten test
More informationReview&Preview 1/23/15, 4:08:07 PM 1. 3rd edition - standardized, and standard library allows programmer to start from a higher level
Review&Preview 1/23/15, 4:08:07 PM 1 Stroustrup: All four prefaces, Ch. 1. Then read "Tour" chapters 2, 3, 4 and 5 but skip 5.3 Concurrency. Watch for new C++11 usage. H: Using using. Stroustrup Introduction:
More informationBuilding 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 informationIntroduction to software metics
Introduction to software metics Alexander Voigt Version_05_21 Technische Universität Dresden Institut für Kern- und Teilchenphysik /01234/546 78994:!"##$%&'$()*+,%&-,,$)*.$ IKTP Computing Kaffee 12 December
More informationTDD: TEST DRIVEN DRUPAL
TDD: TEST DRIVEN DRUPAL BIT.LY/TDD-TEST-DRIVEN-DRUPAL DIAMOND SPONSOR PLATINUM SPONSORS GOLD SPONSORS Module and theme developers Want to know more about automated testing Looking to start writing your
More informationwww.drupaleurope.org image No photos please Responsible disclosure, cross-project collaboration, and Drupal 8 security xjm Drupal & Technology http://bit.ly/drupal-europe-d8-security 17/3/2018 Drupal +
More informationAgenda. Introduce new members 5 minutes. CISQ status 5 minutes. AEFP work 45 minutes. Assignments and adjourn 5 minutes
AEFP Meeting #4 1 2 Agenda Introduce new members 5 minutes CISQ status 5 minutes AEFP work 45 minutes Assignments and adjourn 5 minutes Status CISQ Quality Characteristic Measures: Reliability, Performance
More informationCS61A Notes 02b Fake Plastic Trees. 2. (cons ((1 a) (2 o)) (3 g)) 3. (list ((1 a) (2 o)) (3 g)) 4. (append ((1 a) (2 o)) (3 g))
CS61A Notes 02b Fake Plastic Trees Box and Pointer Diagrams QUESTIONS: Evaluate the following, and draw a box-and-pointer diagram for each. (Hint: It may be easier to draw the box-and-pointer diagram first.)
More informationAPI Design in PHP. David Sklar Software Architect, Ning Inc. DC PHP Conference 2007
API Design in PHP David Sklar Software Architect, Ning Inc. david@ninginc.com DC PHP Conference 2007 Ning Platform Ning Platform Ning PHP API provides interface to our platform REST APIs Live since August
More informationFive Things. I wish they had told me before I started programming in PHP. Cal Evans
Five Things I wish they had told me before I started programming in PHP Cal Evans cal@calevans.com http://blog.calevans.com First Rule of Programming Programming is hard. If it looks easy when I do it,
More informationCSE 504: Compiler Design. Runtime Environments
Runtime Environments Pradipta De pradipta.de@sunykorea.ac.kr Current Topic Procedure Abstractions Mechanisms to manage procedures and procedure calls from compiler s perspective Runtime Environment Choices
More informationComputer-Aided Reengineering Environment. User Guide. Version August
CARE Computer-Aided Reengineering Environment User Guide Version 2.0.2 August 2004 http://www.atxsoftware.com CARE Users Guide Pág. 2 de 46 1. INTRODUCTION... 6 2. INSTALLATION... 7 SETUP... 7 CONFIGURATION...
More informationClassification of Procedurally Generated Textures
Classification of Procedurally Generated Textures Emily Ye, Jason Rogers December 14, 2013 1 Introduction Textures are essential assets for 3D rendering, but they require a significant amount time and
More informationCOP5621 Exam 4 - Spring 2005
COP5621 Exam 4 - Spring 2005 Name: (Please print) Put the answers on these sheets. Use additional sheets when necessary. Show how you derived your answer when applicable (this is required for full credit
More informationMETRIC ATTITUDE PLUG-IN FOR ECLIPSE USER GUIDE
METRIC ATTITUDE PLUG-IN FOR ECLIPSE USER GUIDE Metric Attitude Pag. 0 CONTENTS CONTENTS... 1 INTRODUCTION... 2 ECLIPSE... 2 1. INSTALLING ECLIPS FOR WINDOWS SYSTEM... 3 2. INSTALLING METRIC ATTITUDE...
More informationSearch-Based Software Testing & Test Data Generation for a Dynamic Programming Language
Search-Based Software Testing & Test Data Generation for a Dynamic Programming Language Stefan Mairhofer, Robert Feldt & Richard Torkar 14th of July 2011, GECCO, Dublin SBST for Complex Test Data & DynLang
More informationBy 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 informationMeasuring 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 informationRemote Entities: Past, Present & Future
BADCamp, October 24th 2015 Remote Entities: Past, Present & Future Dave Bailey - steel-track Colan Schwartz - colan Licensed under Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) About Dave Drupal
More informationGetting Started with Code Coverage/Eclipse
Getting Started with Code Coverage/Eclipse Code Coverage/Eclipse is the modernized GUI for Compuware s Xpediter/Code Coverage product. With it, users can create reports detailing testing efficiency and
More informationWHY THE WORLD S LEADING.NET DEVELOPMENT TEAMS RELY ON CODE COVERAGE AND WHAT IT MEANS TO YOUR TEAM CODE COVERAGE FOR THE TEAM
CODE COAGE FOR THE WHY THE WORLD S LEADING.NET S RELY ON CODE COAGE AND WHAT IT MEANS TO YOUR MISSION CRITICAL.NET CODE Quality code is a team effort Throughout the planning, development and testing process,
More informationManaged Make Project File Error Code Composer
Managed Make Project File Error Code Composer Also, I checked to make sure that in Project Properties, the TivaWare installation Using the imported project simply called 'Project', I managed to get the
More informationCompany Overview. Company based in the heart of Silicon Valley. Sources best talent around the world in order to deliver highest quality product.
Game Development UE Company Overview Company based in the heart of Silicon Valley Sources best talent around the world in order to deliver highest quality product. Ensures projects are delivered in the
More informationIntroduction 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 informationDie drei Dimensionen des Testens. Sebastian Bergmann 4. Juli 2015
Die drei Dimensionen des Testens Sebastian Bergmann 4. Juli 2015 Sebastian Bergmann Hilft Teams, erfolgreich die richtige Software zu entwickeln. sharing experience "I'll take your brain to another dimension
More informationChapter 9. Software Testing
Chapter 9. Software Testing Table of Contents Objectives... 1 Introduction to software testing... 1 The testers... 2 The developers... 2 An independent testing team... 2 The customer... 2 Principles of
More informationCERT C++ COMPLIANCE ENFORCEMENT
CERT C++ COMPLIANCE ENFORCEMENT AUTOMATED SOURCE CODE ANALYSIS TO MAINTAIN COMPLIANCE SIMPLIFY AND STREAMLINE CERT C++ COMPLIANCE The CERT C++ compliance module reports on dataflow problems, software defects,
More informationCS350: Data Structures B-Trees
B-Trees James Moscola Department of Engineering & Computer Science York College of Pennsylvania James Moscola Introduction All of the data structures that we ve looked at thus far have been memory-based
More informationFeasibility 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 informationSoftware Design Fundamentals. CSCE Lecture 11-09/27/2016
Software Design Fundamentals CSCE 740 - Lecture 11-09/27/2016 Today s Goals Define design Introduce the design process Overview of design criteria What results in a good design? Gregory Gay CSCE 740 -
More informationFS Future Series Quick Start Guide
FS Future Series Quick Start Guide Please read the following instructions for installation and activation of your Visualizer 3D software! 1. License agreement and limited warranty Read carefully all terms
More informationTRIO-TECH SOFTWARE CONTENTS
1 TRIO-TECH SOFTWARE CONTENTS Main VI... 2 1.1 Overview... 2 1.2 Temperature Collection... 2 1.3 Using the Graph... 3 1.4 Chuck Power... 3 Settings... 3 2.1 Set Ambient Temperature... 3 2.2 Controller
More informationHW/SW Codesign. WCET Analysis
HW/SW Codesign WCET Analysis 29 November 2017 Andres Gomez gomeza@tik.ee.ethz.ch 1 Outline Today s exercise is one long question with several parts: Basic blocks of a program Static value analysis WCET
More informationPredicting Mutation Score Using Source Code and Test Suite Metrics
Predicting Mutation Score Using Source Code and Test Suite Metrics RAISE 2012 Kevin Jalbert and Jeremy S. Bradbury {kevin.jalbert,jeremy.bradbury}@uoit.ca Software Quality Research Group (sqrg.ca) University
More informationCourse 55197A: Microsoft SharePoint Server 2016 for the Site Owner/Power User
Skip to main content Course 55197A: Microsoft SharePoint Server 2016 for the Site Owner/Power User - Course details Course Outline Module 1: The Role of the Site Owner This module provides an introduction
More informationEvolutionary Decision Trees and Software Metrics for Module Defects Identification
World Academy of Science, Engineering and Technology 38 008 Evolutionary Decision Trees and Software Metrics for Module Defects Identification Monica Chiş Abstract Software metric is a measure of some
More informationWama Software Portfolio
M : +91 99133 24140 Skype: wsdeveloper E: wama.sompura@wamasoftware.com W: www.wamasoftware.com Wama Software Portfolio We are team of developers have 7+ years of experience. PHP and its frameworks like
More informationActiveNET. #202, Manjeera Plaza, Opp: Aditya Park Inn, Ameerpet HYD wwww.activenetinformatics.
ActiveNET #202, Manjeera Plaza, Opp: Aditya Park Inn, Ameerpet HYD-500018 98 48 111 2 88 activesurya@gmail.com wwww.activenetinformatics.com PHP Hypertext Pre-processor Developed by Rasmus Lerdorf in 1994.
More informationEmpAnADa 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 informationChapter 9 Quality and Change Management
MACIASZEK, L.A. (2007): Requirements Analysis and System Design, 3 rd ed. Addison Wesley, Harlow England ISBN 978-0-321-44036-5 Chapter 9 Quality and Change Management Pearson Education Limited 2007 Topics
More informationScripting Tutorial - Lesson 9: Graphical Shape Numbers
Home TI-Nspire Authoring TI-Nspire Scripting HQ Scripting Tutorial - Lesson 9 Scripting Tutorial - Lesson 9: Graphical Shape Numbers Download supporting files for this tutorial Texas Instruments TI-Nspire
More informationGet in Touch Module 1 - Core PHP XHTML
PHP/MYSQL (Basic + Advanced) Web Technologies Module 1 - Core PHP XHTML What is HTML? Use of HTML. Difference between HTML, XHTML and DHTML. Basic HTML tags. Creating Forms with HTML. Understanding Web
More informationINF 212 ANALYSIS OF PROG. LANGS ELEMENTS OF IMPERATIVE PROGRAMMING STYLE. Instructors: Crista Lopes Copyright Instructors.
INF 212 ANALYSIS OF PROG. LANGS ELEMENTS OF IMPERATIVE PROGRAMMING STYLE Instructors: Crista Lopes Copyright Instructors. Objectives Level up on things that you may already know Machine model of imperative
More informationBridge Permissions. Best Practices
The Bridge roles and permissions feature allows for over 100 permission line items to be customized for any set of users. Bridge has five default user roles: Learner, Author, Admin, IT Admin, and Account
More informationPearson Education 2007 Chapter 9 (RASD 3/e)
MACIASZEK, L.A. (2007): Requirements Analysis and System Design, 3 rd ed. Addison Wesley, Harlow England ISBN 978-0-321-44036-5 Chapter 9 Quality and Change Management Pearson Education Limited 2007 Topics
More informationpackage YourModule; require = = qw(munge frobnicate); # symbols to export on request
NAME SYNOPSIS Exporter - Implements default import method for modules In module YourModule.pm: require Exporter; @EXPORT_OK = qw(munge frobnicate); # symbols to export on request or use Exporter 'import';
More informationZend Studio has the reputation of being one of the most mature and powerful
Exploring the developer environment RAPID DEVELOPMENT PHP experts consider Zend Studio the most mature and feature-rich IDE for PHP. The latest version offers enhanced database manipulation and other improvements.
More informationScaffold Documentation
Scaffold Documentation Release 1.1 Alin Eugen Deac Oct 29, 2017 Contents 1 Contents 3 1.1 How to Install.............................................. 3 1.2 Install Scaffolds.............................................
More informationApplication Discovery and Enterprise Metadata Repository solution Questions PRIEVIEW COPY ONLY 1-1
Application Discovery and Enterprise Metadata Repository solution Questions 1-1 Table of Contents SECTION 1 ENTERPRISE METADATA ENVIRONMENT...1-1 1.1 TECHNICAL ENVIRONMENT...1-1 1.2 METADATA CAPTURE...1-1
More informationCSCI2100B Data Structures Trees
CSCI2100B Data Structures Trees Irwin King king@cse.cuhk.edu.hk http://www.cse.cuhk.edu.hk/~king Department of Computer Science & Engineering The Chinese University of Hong Kong Introduction General Tree
More informationUnderstanding Design Annotation. Contents
Understanding Design Annotation Contents Annotation defined Annotation in Altium Designer Which Annotation Tool? Schematic Level Annotation Order of Processing Schematic Sheets to Annotate Annotation Scope
More informationSoftware Testing Prof. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur. Lecture 13 Path Testing
Software Testing Prof. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture 13 Path Testing Welcome to this session and we will discuss about path
More informationAPI Design in PHP. David Sklar Software Architect, Ning Inc. Zend Conference 2007
API Design in PHP David Sklar Software Architect, Ning Inc. david@ninginc.com Zend Conference 2007 Ning Platform Ning Platform Ning PHP API provides interface to our platform REST APIs Live since August
More informationCS 350 : Data Structures B-Trees
CS 350 : Data Structures B-Trees David Babcock (courtesy of James Moscola) Department of Physical Sciences York College of Pennsylvania James Moscola Introduction All of the data structures that we ve
More informationNetwork+ Guide to Networks, Fourth Edition. Chapter 8 Network Operating Systems and Windows Server 2003-Based Networking
Network+ Guide to Networks, Fourth Edition Chapter 8 Network Operating Systems and Windows Server 2003-Based Networking Objectives Discuss the functions and features of a network operating system Define
More information/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Priority Queues / Heaps Date: 9/27/17
01.433/33 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Priority Queues / Heaps Date: 9/2/1.1 Introduction In this lecture we ll talk about a useful abstraction, priority queues, which are
More informationOrgChart Now WordPress Org Chart Links. OfficeWork Software LLC
OrgChart Now WordPress Org Chart Links OfficeWork Software LLC Version 1.0.0 December 4, 2015 Introduction OrgChart Now charts can be embedded directly into your WordPress Site. This document details how
More informationPython Implementation Strategies. Jeremy Hylton Python / Google
Python Implementation Strategies Jeremy Hylton Python / Google Python language basics High-level language Untyped but safe First-class functions, classes, objects, &c. Garbage collected Simple module system
More informationFormal Methods and their role in Software and System Development. Riccardo Sisto, Politecnico di Torino
Formal Methods and their role in Software and System Development Riccardo Sisto, Politecnico di Torino What are Formal Methods? Rigorous (mathematical) methods for modelling and analysing (computer-based)
More informationEvaluation Plan for Fearless Fitness Center Website
Evaluation Plan for Fearless Fitness Center Website A three-step process will be used to prepare the Fearless Fitness website for use. First, at the outset of the project, Back-of-the-Envelope Task Analysis
More informationSecuring the IBM Cognos 8 BI Environment
Proven Practice Securing the IBM Cognos 8 BI Environment Product(s): IBM Cognos 8 BI Area of Interest: Security 2 Copyright Copyright 2008 Cognos ULC (formerly Cognos Incorporated). Cognos ULC is an IBM
More information<Project Name> Software Requirements Specification <Version> <Date> <Team Members>
Software Requirements Specification 1. Introduction 1.1 Purpose
More informationProgramming Assignment IV
Programming Assignment IV 1 Introduction In this assignment, you will implement the static semantics of Cool. You will use the abstract syntax trees (AST) built by the parser to check that a program conforms
More informationSoftware Testing. Lecturer: Sebastian Coope Ashton Building, Room G.18
Lecturer: Sebastian Coope Ashton Building, Room G.18 E-mail: coopes@liverpool.ac.uk COMP 201 web-page: http://www.csc.liv.ac.uk/~coopes/comp201 Software Testing 1 Defect Testing Defect testing involves
More informationMEASURING AND QUANTIFYING WEB APPLICATION DESIGN
University of Montana ScholarWorks at University of Montana Graduate Student Theses, Dissertations, & Professional Papers Graduate School 2012 MEASURING AND QUANTIFYING WEB APPLICATION DESIGN Craig A.
More informationXDebug Your Code Tips and Tricks for Writing Bug-Free High Impact Code. Brandon Savage, Applied Security, Inc
XDebug Your Code Tips and Tricks for Writing Bug-Free High Impact Code Brandon Savage, Applied Security, Inc Who Am I? PHP Developer for Applied Security in Reston, VA Former lead developer for The Pickens
More informationProgramming in Lua Getting Started
Programming in Lua Getting Started Fabio Mascarenhas http://www.dcc.ufrj.br/~fabiom/lua Getting Lua The best way to get Lua for a beginner is through your operating system s package manager Make sure you
More informationWeb development with PHP. Kore Nordmann, Tobias Schlitt, Jakob Westhoff Dortmund
Web development with PHP Kore Nordmann, Tobias Schlitt, Jakob Westhoff Dortmund 29.06.09 Speaker Jakob Westhoff Kore Nordmann Tobias Schlitt Active in various
More informationObject Oriented Metrics. Impact on Software Quality
Object Oriented Metrics Impact on Software Quality Classic metrics Lines Of Code Function points Complexity Code coverage - testing Maintainability Index discussed later Lines of Code KLOC = 1000 Lines
More informationSYMFONY2 WEB FRAMEWORK
1 5828 Foundations of Software Engineering Spring 2012 SYMFONY2 WEB FRAMEWORK By Mazin Hakeem Khaled Alanezi 2 Agenda Introduction What is a Framework? Why Use a Framework? What is Symfony2? Symfony2 from
More informationgoto considered not particularly harmful: defect analysis in a major numerical library"
Title Slide Kingston University CISM Faculty Research Seminar................................................................................... goto considered not particularly harmful: defect analysis
More informationTechnical Debt in Large Systems: Understanding the cost of software complexity
Technical Debt in Large Systems: Understanding the cost of software complexity Dan Sturtevant, Ph.D. dan.sturtevant@sloan.mit.edu INCOSE Webinar June th, 2013 With thanks to: Alan MacCormack, Steven Eppinger,
More informationComPARE: A Generic Quality Assessment Environment for Component-Based Software Systems
ComPARE: A Generic Quality Assessment Environment for Component-Based Software Systems Xia Cai, Michael R. Lyu, Kam-Fai Wong, Mabel Wong Dept. of Computer Science and Engineering Center of Innovation and
More informationScope. CSC 4181 Compiler Construction. Static Scope. Static Scope Rules. Closest Nested Scope Rule
Scope CSC 4181 Compiler Construction Scope and Symbol Table A scope is a textual region of the program in which a (name-to-object) binding is active. There are two types of scope: Static scope Dynamic
More informationWhat and Why? Reverse Engineering. I. First Contact: the Forces. The Reengineering Life-Cycle
What and Why? Reverse Engineering Definition Reverse Engineering is the process of analyzing a subject system! to identify the system s components and their interrelationships and! create representations
More informationHacking by Numbers OWASP. The OWASP Foundation
Hacking by Numbers OWASP Tom Brennan WhiteHat Security Inc. tom.brennan@whitehatsec.com 973-506-9303 skype: jinxpuppy Copyright The OWASP Foundation Permission is granted to copy, distribute and/or modify
More informationTesting Methods: White Box Testing II
Testing Methods: White Box Testing II Outline Today we continue our look at white box testing with more code coverage methods, and a data coverage method We ll look at : - code coverage testing - decision
More informationProject Development Steps using RP framework
RP Framework RP Web Application Framework is a proprietary web application development framework in PHP. It is a MVC (Model View Controller) framework based on Strut (Apache Group), the renowned MVC framework
More informationIntroduction To Software Development CSC Spring 2019 Howard Rosenthal
Introduction To Software Development CSC 295-01 Spring 2019 Howard Rosenthal Course References Materials for this course have utilized materials in the following documents. Additional materials taken from
More informationAnalysis 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 informationAbsent: Lecture 3 Page 1. def foo(a, b): a = 5 b[0] = 99
1. A function is a procedural abstract (a named body of code to perform some action and return a resulting value). The syntax of a function definition is: def functionname([parameter [, parameter]*]):
More informationKaltura Video Plugin for WordPress Quick Start Guide. Version: 2.5
Kaltura Video Plugin for WordPress Quick Start Guide Version: 2.5 Kaltura Business Headquarters 5 Union Square West, Suite 602, New York, NY, 10003, USA Tel.: +1 800 871 5224 Copyright 2013 Kaltura Inc.
More informationSOFTWARE PRODUCT QUALITY SOFTWARE ENGINEERING SOFTWARE QUALITY SOFTWARE QUALITIES - PRODUCT AND PROCESS SOFTWARE QUALITY - QUALITY COMPONENTS
SOFTWARE PRODUCT QUALITY Today: - Software quality - Quality Components - Good software properties SOFTWARE ENGINEERING SOFTWARE QUALITY Today we talk about quality - but what is quality? Suitable Fulfills
More information