Open-source Versus Commercial Software: A Quantitative Comparison
|
|
|
- Mariah Pitts
- 10 years ago
- Views:
Transcription
1 Open-source Versus Commercial Software: A Quantitative Comparison Rix Groenboom Reasoning NL BV [email protected]
2 Agenda About Reasoning The Study Inspection Results Analysis Conclusions New results Input for Discussion April Reasoning, Inc 2
3 About Reasoning Reasoning provides an automated inspection service for organizations that develop software Enables building better software in less time and at lower cost Support C, C++, and Java Have inspected over 1B LOC April Reasoning, Inc 3
4 The Study First, some background: Proponents of Open-Source software have long claimed their code is of higher quality Power of peer review Root cause analysis on site enables easier fix Commercial software vendors have long claimed their code is of higher quality Market focused Defined processes for development and testing April Reasoning, Inc 4
5 The Study Why do the study? Our customers wanted to understand the real differences between Open-Source software and Commercial software Reasoning is uniquely positioned to provide this information When was the study performed? Open-source inspection = December 2002 Commercial inspections = Throughout 2002 April Reasoning, Inc 5
6 Used Software Inspection AKA Peer Review Implicit in Extreme Programming Examination of source code to: Detect defects Trace code to requirements Check coding standards April Reasoning, Inc 6
7 Value of Inspections Increased Reliability, Reduced Cost and Time-to-Market Without ASI Software Development Lifecycle Design Code Code Integrate Integrate Test $$$ With ASI Automated Inspections Savings April Reasoning, Inc 7
8 Types of Defects Searched for NULL Pointer Dereference Out of Bounds Array Access Memory Leak Uninitialized Variable Bad Deallocation Using an Automated Software Inspection (ASI) methodology. April Reasoning, Inc 8
9 Architecture ASI Technology Source Code Language Parser Computation Analysis Graph (CAG) Builder Summarize CAGs by Function & Level Detection Rules Symbolic Evaluation Using Value Lattices Potential Violations Reports Defect Review Potential Defects Feasible Path Analysis April Reasoning, Inc 9
10 Project Scope Open Source implementation of TCP/IP in version of Linux Kernel Five commercial implementations of TCP/IP in commercial, general purpose operating systems and telecommunications equipment Why TCP/IP? Well-defined set of published requirements Implementations have been in existence for several years Publicly available conformance tests April Reasoning, Inc 10
11 Can You Spot the Defect? static int sock_fasync(int fd, struct file *filp, int on) { struct fasync_struct *fa, *fna=null, **prev; struct socket *sock; struct sock *sk; If this is true if (on) {.. this memory leaks fna=(struct fasync_struct *)kmalloc(sizeof(struct fasync_struct), GFP_KERNEL); if(fna==null) return -ENOMEM; } sock = socki_lookup(filp->f_dentry->d_inode); if ((sk=sock->sk) == NULL) return -EINVAL;.. and this true April Reasoning, Inc 11
12 DEFECT CLASS: Memory Leak LOCATION: src\linux \net\socket.c : 750 Actual Report DESCRIPTION Local variable fna, declared on line 735, is assigned a pointer to a block of memory allocated by kmalloc on line 741. No other pointer refers to this memory block, so it is inaccessible (still allocated, but unreachable) once fna goes out of scope after line 750. PRECONDITIONS The conditional expression (on) on line 739 evaluates to true AND The conditional expression (fna==null) on line 742 evaluates to false AND The conditional expression ((sk=sock->sk) == NULL) on line 749 evaluates to true. CODE FRAGMENT 733 static int sock_fasync(int fd, struct file *filp, int on) 734 { 735 st ruct f async_st ruc t *f a, *f na=null, **pre v; 736 st r uct socke t *s ock; 737 st r uct sock *s k; i f ( on) 740 { 741 fna=(struct fasync_struct *)kmalloc(sizeof(struct fasync_stru GF P_ KERNEL) ; 742 i f ( f na==null) 743 return -ENOMEM; 744 } sock = socki _l ookup( f i l p- >f _dent r y- >d_i node) ; i f ( ( sk=s ock- >s k) == NULL) 750 re t urn - EI NVAL; l ock_sock( sk) ; pr ev=&( sock- >f as ync _l i st ) ; for (fa=*prev; fa!=null; prev=&fa->fa_next, fa=*prev) 757 i f ( f a- >f a_f i l e==f i l p) 758 br ea k; i f ( on) April Reasoning, Inc 12
13 Defect Overview Memory Leak Null Pointer Dereference Bad Deallocation Out of Bounds Array Access Uninitialized Variable Totals Total Defects in 5 Commercial Implementations Total Defects in Linux Kernel April Reasoning, Inc 13
14 Feedback Linux Developer On OOB access: Nope, not wrong, the table is indexed off-by-one. If you were right, rtnetlink would simply not work. On NPD: In the cases where SKB is NULL, opt is never NULL, check the two callers. On ML: Fixed in the subsequent release. April Reasoning, Inc 14
15 Feedback Commercial Developer For the Linux community to just shrug these off with "well the kernel works so it must be ok" doesn't really cut it. I think the NULL dereference checks should be added, and definitely the out of bounds array checking [..] For example, the out of bounds array reference could start causing a problem by just rearranging the order variables are declared. April Reasoning, Inc 15
16 Fix Rates Reported Repaired % Commercial Implementations Linux Kernel April Reasoning, Inc 16
17 Metrics Comparison D e fe c t D e n s ity Comparison Defects per KLSC W ors tt h ird M iddle Third B est Third 0.00 Industry Average Linux Kernel C om m ercial TC P /IP Linux stack: 0.10 Commercial stack: 0.55 April Reasoning, Inc 17
18 Preliminary Hypothesis Number of Defects? Commercial TCP/IP Peer Review Linux TCP/IP More Research Needed Time Initial defect densities of Open Source vs. Commercial? Defect removal rates of Open Source projects April Reasoning, Inc 18
19 Conclusions Open-source is not inherently worse More research is required Code inspections still find critical defects in extremely well tested software April Reasoning, Inc 19
20 New results Apache test Httpd 2.1-dev (development version 01/31/03) Will determine, track, and report on defect density through lifecycle Results on Java implementation Tomcat Jakarta Results on (soon) What else would you like to see? April Reasoning, Inc 20
21 New results Apache implementation Httpd 2.1-dev (development version from 01/31/03) 31 Defects in 59 KLOC; density 0.53 Normal defect density; non typical defect distribution April Reasoning, Inc 21
22 New results Java inspections: Out of Bounds Array Access NULL pointer dereferences String Comparison Jakarta Tomcat : 11 Defects in 71 KLOC; density 0.15 (Java average commercial software is 0.16). Wait for feedback from the community Next inspection will include resource leaks April Reasoning, Inc 22
23 Towards discussion OK, nice hobby horse for Reasoning and others for research on test efficiency: See SPIder News for a Stanford study on Linux Les Hatton has compared Linux and CMM level Ownership: Who finds the bugs? Who fixes the bugs? Open source: Will commercial end-user will actually make changes to the source? Who will actually review the source (e.g. for quality of the algorithms / security)? April Reasoning, Inc 23
24 Discussion!!! April Reasoning, Inc 24
Scoping (Readings 7.1,7.4,7.6) Parameter passing methods (7.5) Building symbol tables (7.6)
Semantic Analysis Scoping (Readings 7.1,7.4,7.6) Static Dynamic Parameter passing methods (7.5) Building symbol tables (7.6) How to use them to find multiply-declared and undeclared variables Type checking
Lecture 10: Dynamic Memory Allocation 1: Into the jaws of malloc()
CS61: Systems Programming and Machine Organization Harvard University, Fall 2009 Lecture 10: Dynamic Memory Allocation 1: Into the jaws of malloc() Prof. Matt Welsh October 6, 2009 Topics for today Dynamic
Static Analysis. Find the Bug! 15-654: Analysis of Software Artifacts. Jonathan Aldrich. disable interrupts. ERROR: returning with interrupts disabled
Static Analysis 15-654: Analysis of Software Artifacts Jonathan Aldrich 1 Find the Bug! Source: Engler et al., Checking System Rules Using System-Specific, Programmer-Written Compiler Extensions, OSDI
Oracle Solaris Studio Code Analyzer
Oracle Solaris Studio Code Analyzer The Oracle Solaris Studio Code Analyzer ensures application reliability and security by detecting application vulnerabilities, including memory leaks and memory access
Software Reliability Estimation Based on Static Error Detection
7 th Central and Eastern European Software Engineering Conference in Russia - CEE-SECR 2011 October 31 November 3, Moscow Software Reliability Estimation Based on Static M. Moiseev, M. Glukhikh, A. Karpenko,
Applying Clang Static Analyzer to Linux Kernel
Applying Clang Static Analyzer to Linux Kernel 2012/6/7 FUJITSU COMPUTER TECHNOLOGIES LIMITED Hiroo MATSUMOTO 管 理 番 号 1154ka1 Copyright 2012 FUJITSU COMPUTER TECHNOLOGIES LIMITED Abstract Now there are
GDB Tutorial. A Walkthrough with Examples. CMSC 212 - Spring 2009. Last modified March 22, 2009. GDB Tutorial
A Walkthrough with Examples CMSC 212 - Spring 2009 Last modified March 22, 2009 What is gdb? GNU Debugger A debugger for several languages, including C and C++ It allows you to inspect what the program
Introduction to Static Analysis for Assurance
Introduction to Static Analysis for Assurance John Rushby Computer Science Laboratory SRI International Menlo Park CA USA John Rushby Static Analysis for Assurance: 1 Overview What is static analysis?
Two case studies of Open Source Software Development: Apache and Mozilla
1 Two case studies of Open Source Software Development: Apache and Mozilla Audris Mockus, Roy Fielding, and James D Herbsleb Presented by Jingyue Li 2 Outline Research questions Research methods Data collection
Technical paper review. Program visualization and explanation for novice C programmers by Matthew Heinsen Egan and Chris McDonald.
Technical paper review Program visualization and explanation for novice C programmers by Matthew Heinsen Egan and Chris McDonald Garvit Pahal Indian Institute of Technology, Kanpur October 28, 2014 Garvit
How Safe does my Code Need to be? Shawn A. Prestridge, Senior Field Applications Engineer
How Safe does my Code Need to be? Shawn A. Prestridge, Senior Field Applications Engineer Agendum What the benefits of Functional Safety are What the most popular safety certifications are Why you should
Fundamentals of Measurements
Objective Software Project Measurements Slide 1 Fundamentals of Measurements Educational Objective: To review the fundamentals of software measurement, to illustrate that measurement plays a central role
Kernel Intrusion Detection System
Kernel Intrusion Detection System Rodrigo Rubira Branco [email protected] [email protected] Monica's Team!! Brazilian famous H.Q. story Amazon Forest Yeah, Brazilian country! Soccer Brazilian
Transparent Monitoring of a Process Self in a Virtual Environment
Transparent Monitoring of a Process Self in a Virtual Environment PhD Lunchtime Seminar Università di Pisa 24 Giugno 2008 Outline Background Process Self Attacks Against the Self Dynamic and Static Analysis
No no-argument constructor. No default constructor found
Every software developer deals with bugs. The really tough bugs aren t detected by the compiler. Nasty bugs manifest themselves only when executed at runtime. Here is a list of the top ten difficult and
Detecting Critical Defects on the Developer s Desktop
Detecting Critical Defects on the Developer s Desktop Seth Hallem CEO Coverity, Inc. Copyright Coverity, Inc. 2006. All Rights Reserved. This publication, in whole or in part, may not be reproduced, stored
Not agree with bug 3, precision actually was. 8,5 not set in the code. Not agree with bug 3, precision actually was
Task 1 Task 2 Task 3 Feedback Presence SUM Matrikkel Rühm [5] [1] [2] [1] [1] [10] Feedback to students A64129 1. rühm 0 0 No submission found A72068 1. rühm 5 1 2 1 1 For Bug 3. Actually the variable
Operating Systems Design 16. Networking: Sockets
Operating Systems Design 16. Networking: Sockets Paul Krzyzanowski [email protected] 1 Sockets IP lets us send data between machines TCP & UDP are transport layer protocols Contain port number to identify
Software Engineering Concepts: Testing. Pointers & Dynamic Allocation. CS 311 Data Structures and Algorithms Lecture Slides Monday, September 14, 2009
Software Engineering Concepts: Testing Simple Class Example continued Pointers & Dynamic Allocation CS 311 Data Structures and Algorithms Lecture Slides Monday, September 14, 2009 Glenn G. Chappell Department
Stack Allocation. Run-Time Data Structures. Static Structures
Run-Time Data Structures Stack Allocation Static Structures For static structures, a fixed address is used throughout execution. This is the oldest and simplest memory organization. In current compilers,
Client-server Sockets
Client-server Sockets 1 How to Write a Network Based Program (Using Microchip's TCP/IP Stack) A network based program that uses the Client-server architecture must create at least two separate programs,
Gold Standard Method for Benchmarking C Source Code Static Analysis Tools
Gold Standard Method for Benchmarking C Source Code Static Analysis Tools Cyber Security Division 2012 Principal Investigators Meeting October 11, 2012 Henny Sipma Sr. Computer Scientist Kestrel Technology,
Static Code Analysis Procedures in the Development Cycle
Static Code Analysis Procedures in the Development Cycle Tools, Technology, and Process in Engineering at Microsoft Mooly Beeri Microsoft Haifa R&D Center Agenda Static code analysis tools PREfix and PREfast
An Introduction to. Metrics. used during. Software Development
An Introduction to Metrics used during Software Development Life Cycle www.softwaretestinggenius.com Page 1 of 10 Define the Metric Objectives You can t control what you can t measure. This is a quote
Frysk The Systems Monitoring and Debugging Tool. Andrew Cagney
Frysk The Systems Monitoring and Debugging Tool Andrew Cagney Agenda Two Use Cases Motivation Comparison with Existing Free Technologies The Frysk Architecture and GUI Command Line Utilities Current Status
Software Engineering Techniques
Software Engineering Techniques Low level design issues for programming-in-the-large. Software Quality Design by contract Pre- and post conditions Class invariants Ten do Ten do nots Another type of summary
Lecture 11 Doubly Linked Lists & Array of Linked Lists. Doubly Linked Lists
Lecture 11 Doubly Linked Lists & Array of Linked Lists In this lecture Doubly linked lists Array of Linked Lists Creating an Array of Linked Lists Representing a Sparse Matrix Defining a Node for a Sparse
Effective Software Verification for Medical Devices
STERLINGTECH AND KLOCWORK WHITE PAPER NOVEMBER 2009 Effective Software Verification for Medical Devices Achieving compliance and meeting productivity goals with static analysis In addition to producing
A Dozen Years of Shellphish From DEFCON to the Cyber Grand Challenge
A Dozen Years of Shellphish From DEFCON to the Cyber Grand Challenge Antonio Bianchi [email protected] University of California, Santa Barbara HITCON Enterprise August 27th, 2015 Agenda Shellphish The
The V8 JavaScript Engine
The V8 JavaScript Engine Design, Implementation, Testing and Benchmarking Mads Ager, Software Engineer Agenda Part 1: What is JavaScript? Part 2: V8 internals Part 3: V8 testing and benchmarking What is
Source Code Security Analysis Tool Functional Specification Version 1.0
Special Publication 500-268 Source Code Security Analysis Tool Functional Specification Version 1.0 Paul E. Black Michael Kass Michael Koo Software Diagnostics and Conformance Testing Division Information
Software Testing & Analysis (F22ST3): Static Analysis Techniques 2. Andrew Ireland
Software Testing & Analysis (F22ST3) Static Analysis Techniques Andrew Ireland School of Mathematical and Computer Science Heriot-Watt University Edinburgh Software Testing & Analysis (F22ST3): Static
Secure Programming with Static Analysis. Jacob West [email protected]
Secure Programming with Static Analysis Jacob West [email protected] Software Systems that are Ubiquitous Connected Dependable Complexity U Unforeseen Consequences Software Security Today The line between
Abstract Data Type. EECS 281: Data Structures and Algorithms. The Foundation: Data Structures and Abstract Data Types
EECS 281: Data Structures and Algorithms The Foundation: Data Structures and Abstract Data Types Computer science is the science of abstraction. Abstract Data Type Abstraction of a data structure on that
The FDA Forensics Lab, New Tools and Capabilities
U. S. Department of Health and Human Services The FDA Forensics Lab, New Tools and Capabilities Symposium on Static Code Analysis and Complex Medical Devices University of Minnesota July 23, 2009 Static
Software Engineering Compiled By: Roshani Ghimire Page 1
Unit 7: Metric for Process and Product 7.1 Software Measurement Measurement is the process by which numbers or symbols are assigned to the attributes of entities in the real world in such a way as to define
Fully Automated Static Analysis of Fedora Packages
Fully Automated Static Analysis of Fedora Packages Red Hat Kamil Dudka August 9th, 2014 Abstract There are static analysis tools (such as Clang or Cppcheck) that are able to find bugs in Fedora packages
Software testing. Objectives
Software testing cmsc435-1 Objectives To discuss the distinctions between validation testing and defect testing To describe the principles of system and component testing To describe strategies for generating
Linux Kernel. Security Report
Linux Kernel Security Report September 25 Authors: Andy Chou, Bryan Fulton and Seth Hallem Coverity has combined two years of analysis work carried out in a commercial setting at Coverity with four years
Measuring Software Complexity to Target Risky Modules in Autonomous Vehicle Systems
Measuring Software Complexity to Target Risky Modules in Autonomous Vehicle Systems M. N. Clark, Bryan Salesky, Chris Urmson Carnegie Mellon University Dale Brenneman McCabe Software Inc. Corresponding
Development Testing for Agile Environments
Development Testing for Agile Environments November 2011 The Pressure Is On More than ever before, companies are being asked to do things faster. They need to get products to market faster to remain competitive
Coverity Scan. Big Data Spotlight
Coverity Scan Big Data Spotlight Coverity Scan Service The Coverity Scan service began as the largest public-private sector research project in the world focused on open source software quality and security.
Introduction to Software Engineering. 8. Software Quality
Introduction to Software Engineering 8. Software Quality Roadmap > What is quality? > Quality Attributes > Quality Assurance: Planning and Reviewing > Quality System and Standards 2 Sources > Software
Java Monitoring. Stuff You Can Get For Free (And Stuff You Can t) Paul Jasek Sales Engineer
Java Monitoring Stuff You Can Get For Free (And Stuff You Can t) Paul Jasek Sales Engineer A Bit About Me Current: Past: Pre-Sales Engineer (1997 present) WaveMaker Wily Persistence GemStone Application
A Test Suite for Basic CWE Effectiveness. Paul E. Black. [email protected]. http://samate.nist.gov/
A Test Suite for Basic CWE Effectiveness Paul E. Black [email protected] http://samate.nist.gov/ Static Analysis Tool Exposition (SATE V) News l We choose test cases by end of May l Tool output uploaded
How To Install Linux Titan
Linux Titan Distribution Presented By: Adham Helal Amgad Madkour Ayman El Sayed Emad Zakaria What Is a Linux Distribution? What is a Linux Distribution? The distribution contains groups of packages and
Monitoring, Tracing, Debugging (Under Construction)
Monitoring, Tracing, Debugging (Under Construction) I was already tempted to drop this topic from my lecture on operating systems when I found Stephan Siemen's article "Top Speed" in Linux World 10/2003.
The C Programming Language course syllabus associate level
TECHNOLOGIES The C Programming Language course syllabus associate level Course description The course fully covers the basics of programming in the C programming language and demonstrates fundamental programming
Memory Debugging with TotalView on AIX and Linux/Power
S cico m P Austin Aug 2004 Memory Debugging with TotalView on AIX and Linux/Power Chris Gottbrath Memory Debugging in AIX and Linux-Power Clusters Intro: Define the problem and terms What are Memory bugs?
Verification and Validation of Software Components and Component Based Software Systems
Chapter 5 29 Verification and Validation of Software Components and Component Based Christina Wallin Industrial Information Technology Software Engineering Processes ABB Corporate Research [email protected]
LINKED DATA STRUCTURES
LINKED DATA STRUCTURES 1 Linked Lists A linked list is a structure in which objects refer to the same kind of object, and where: the objects, called nodes, are linked in a linear sequence. we keep a reference
Quiz 4 Solutions EECS 211: FUNDAMENTALS OF COMPUTER PROGRAMMING II. 1 Q u i z 4 S o l u t i o n s
Quiz 4 Solutions Q1: What value does function mystery return when called with a value of 4? int mystery ( int number ) { if ( number
TOOL EVALUATION REPORT: FORTIFY
TOOL EVALUATION REPORT: FORTIFY Derek D Souza, Yoon Phil Kim, Tim Kral, Tejas Ranade, Somesh Sasalatti ABOUT THE TOOL Background The tool that we have evaluated is the Fortify Source Code Analyzer (Fortify
Department of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY. 6.828 Operating System Engineering: Fall 2005
Department of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY 6.828 Operating System Engineering: Fall 2005 Quiz II Solutions Average 84, median 83, standard deviation
General Introduction
Managed Runtime Technology: General Introduction Xiao-Feng Li ([email protected]) 2012-10-10 Agenda Virtual machines Managed runtime systems EE and MM (JIT and GC) Summary 10/10/2012 Managed Runtime
Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6
Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6 Winter Term 2008 / 2009 Jun.-Prof. Dr. André Brinkmann [email protected] Universität Paderborn PC² Agenda Multiprocessor and
Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University
Software Engineering Introduction & Background Department of Computer Science Kent State University Complaints Software production is often done by amateurs Software development is done by tinkering or
Jonathan Worthington Scarborough Linux User Group
Jonathan Worthington Scarborough Linux User Group Introduction What does a Virtual Machine do? Hides away the details of the hardware platform and operating system. Defines a common set of instructions.
Darshan Institute of Engineering & Technology Unit : 7
1) Explain quality control and also explain cost of quality. Quality Control Quality control involves the series of inspections, reviews, and tests used throughout the software process to ensure each work
Upping the game. Improving your software development process
Upping the game Improving your software development process John Ferguson Smart Principle Consultant Wakaleo Consulting Email: [email protected] Web: http://www.wakaleo.com Twitter: wakaleo Presentation
Semantic Analysis: Types and Type Checking
Semantic Analysis Semantic Analysis: Types and Type Checking CS 471 October 10, 2007 Source code Lexical Analysis tokens Syntactic Analysis AST Semantic Analysis AST Intermediate Code Gen lexical errors
Common Errors in C/C++ Code and Static Analysis
Common Errors in C/C++ Code and Static Analysis Red Hat Ondřej Vašík and Kamil Dudka 2011-02-17 Abstract Overview of common programming mistakes in the C/C++ code, and comparison of a few available static
Molecular Dynamics Simulations with Applications in Soft Matter Handout 7 Memory Diagram of a Struct
Dr. Martin O. Steinhauser University of Basel Graduate Lecture Spring Semester 2014 Molecular Dynamics Simulations with Applications in Soft Matter Handout 7 Memory Diagram of a Struct Friday, 7 th March
Smooks Dev Tools Reference Guide. Version: 1.1.0.GA
Smooks Dev Tools Reference Guide Version: 1.1.0.GA Smooks Dev Tools Reference Guide 1. Introduction... 1 1.1. Key Features of Smooks Tools... 1 1.2. What is Smooks?... 1 1.3. What is Smooks Tools?... 2
APPROACHES TO SOFTWARE TESTING PROGRAM VERIFICATION AND VALIDATION
1 APPROACHES TO SOFTWARE TESTING PROGRAM VERIFICATION AND VALIDATION Validation: Are we building the right product? Does program meet expectations of user? Verification: Are we building the product right?
Gold Standard Benchmark for Static Source Code Analyzers
CYBER SECURITY DIVISION 2013 PRINCIPAL INVESTIGATORS Gold Standard Benchmark for Static Source Code Analyzers Kestrel Technology, LLC Dr. Henny B. Sipma Sep 16, 2013 Kestrel Technology Founded: 2000 Location:
Software security specification and verification
Software security specification and verification Erik Poll Security of Systems (SoS) group Radboud University Nijmegen Software (in)security specification and verification/detection Erik Poll Security
Coding Rules. Encoding the type of a function into the name (so-called Hungarian notation) is forbidden - it only confuses the programmer.
Coding Rules Section A: Linux kernel style based coding for C programs Coding style for C is based on Linux Kernel coding style. The following excerpts in this section are mostly taken as is from articles
Source Code Review Using Static Analysis Tools
Source Code Review Using Static Analysis Tools July-August 05 Author: Stavros Moiras Supervisor(s): Stefan Lüders Aimilios Tsouvelekakis CERN openlab Summer Student Report 05 Abstract Many teams at CERN,
How To Improve Your Software
Driving Quality, Security and Compliance in Third- Party Code Dave Gruber Director of Product Marketing, Black Duck Keri Sprinkle Sr Product Marketing Manager, Coverity Jon Jarboe Sr Technical Marketing
SOFTWARE QUALITY IN 2002: A SURVEY OF THE STATE OF THE ART
Software Productivity Research an Artemis company SOFTWARE QUALITY IN 2002: A SURVEY OF THE STATE OF THE ART Capers Jones, Chief Scientist Emeritus Six Lincoln Knoll Lane Burlington, Massachusetts 01803
How to Write a Checker in 24 Hours
How to Write a Checker in 24 Hours Clang Static Analyzer Anna Zaks and Jordan Rose Apple Inc. What is this talk about? The Clang Static Analyzer is a bug finding tool It can be extended with custom checkers
Application-Level Debugging and Profiling: Gaps in the Tool Ecosystem. Dr Rosemary Francis, Ellexus
Application-Level Debugging and Profiling: Gaps in the Tool Ecosystem Dr Rosemary Francis, Ellexus For years instruction-level debuggers and profilers have improved in leaps and bounds. Similarly, system-level
Module 10. Coding and Testing. Version 2 CSE IIT, Kharagpur
Module 10 Coding and Testing Lesson 23 Code Review Specific Instructional Objectives At the end of this lesson the student would be able to: Identify the necessity of coding standards. Differentiate between
Unit 11: Software Metrics
Unit 11: Software Metrics Objective Ð To describe the current state-of-the-art in the measurement of software products and process. Why Measure? "When you can measure what you are speaking about and express
Continuous System Integration of Distributed Real-time and Embedded Systems
Continuous System Integration of Distributed Real-time and Embedded Systems and Douglas Schmidt Vanderbilt University Nashville, TN, USA OMG s Workshop on Distributed Object Computing for Real-time and
DHCP and DNS Protocols
DHCP and DNS Protocols DHCP (Dynamic Host Configuration Protocol) is an industry standard protocol that lets a DHCP server (Unix/Window/As400 system) allocate temporary IP addresses and other network parameters
Satisfying ASIL Requirements with Parasoft C++test Achieving Functional Safety in the Automotive Industry
Satisfying Requirements with Parasoft C++test Achieving Functional Safety in the Automotive Industry Introduction Safety functions are increasingly being carried out by electrical, electronic, or programmable
System Security Fundamentals
System Security Fundamentals Alessandro Barenghi Dipartimento di Elettronica, Informazione e Bioingegneria Politecnico di Milano alessandro.barenghi - at - polimi.it April 28, 2015 Lesson contents Overview
Chap 1. Software Quality Management
Chap 1. Software Quality Management Part 1.1 Quality Assurance and Standards Part 1.2 Software Review and Inspection Part 1.3 Software Measurement and Metrics 1 Part 1.1 Quality Assurance and Standards
Data Structure with C
Subject: Data Structure with C Topic : Tree Tree A tree is a set of nodes that either:is empty or has a designated node, called the root, from which hierarchically descend zero or more subtrees, which
ISTQB Certified Tester. Foundation Level. Sample Exam 1
ISTQB Certified Tester Foundation Level Version 2015 American Copyright Notice This document may be copied in its entirety, or extracts made, if the source is acknowledged. #1 When test cases are designed
Tomcat Tuning. Mark Thomas April 2009
Tomcat Tuning Mark Thomas April 2009 Who am I? Apache Tomcat committer Resolved 1,500+ Tomcat bugs Apache Tomcat PMC member Member of the Apache Software Foundation Member of the ASF security committee
Apache Tomcat. Load-balancing and Clustering. Mark Thomas, 20 November 2014. 2014 Pivotal Software, Inc. All rights reserved.
2 Apache Tomcat Load-balancing and Clustering Mark Thomas, 20 November 2014 Introduction Apache Tomcat committer since December 2003 [email protected] Tomcat 8 release manager Member of the Servlet, WebSocket
(Refer Slide Time: 01:52)
Software Engineering Prof. N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture - 2 Introduction to Software Engineering Challenges, Process Models etc (Part 2) This
How Comcast Built An Open Source Content Delivery Network National Engineering & Technical Operations
How Comcast Built An Open Source Content Delivery Network National Engineering & Technical Operations Jan van Doorn Distinguished Engineer VSS CDN Engineering 1 What is a CDN? 2 Content Router get customer
Useful Automated Software Testing Metrics
Useful Automated Software Testing Metrics By Thom Garrett IDT, LLC Adapted from the book Implementing Automated Software Testing, by Elfriede Dustin, Thom Garrett, Bernie Gauf Author Bio: Thom Garrett
recursion, O(n), linked lists 6/14
recursion, O(n), linked lists 6/14 recursion reducing the amount of data to process and processing a smaller amount of data example: process one item in a list, recursively process the rest of the list
Outline. 1 Denitions. 2 Principles. 4 Implementation and Evaluation. 5 Debugging. 6 References
Outline Computer Science 331 Introduction to Testing of Programs Mike Jacobson Department of Computer Science University of Calgary Lecture #3-4 1 Denitions 2 3 4 Implementation and Evaluation 5 Debugging
Clustering with Tomcat. Introduction. O'Reilly Network: Clustering with Tomcat. by Shyam Kumar Doddavula 07/17/2002
Page 1 of 9 Published on The O'Reilly Network (http://www.oreillynet.com/) http://www.oreillynet.com/pub/a/onjava/2002/07/17/tomcluster.html See this if you're having trouble printing code examples Clustering
Module 10. Coding and Testing. Version 2 CSE IIT, Kharagpur
Module 10 Coding and Testing Lesson 26 Debugging, Integration and System Testing Specific Instructional Objectives At the end of this lesson the student would be able to: Explain why debugging is needed.
Web development... the server side (of the force)
Web development... the server side (of the force) Fabien POULARD Document under license Creative Commons Attribution Share Alike 2.5 http://www.creativecommons.org/learnmore Web development... the server
