1 Debugging Integrated Systems: An Ethnographic Study of Debugging Practice Thomas Østerlie & Alf Inge Wang Debugging Integrated Systems.

Slides:



Advertisements
Similar presentations
Usage statistics in context - panel discussion on understanding usage, measuring success Peter Shepherd Project Director COUNTER AAP/PSP 9 February 2005.
Advertisements

2 Introduction A central issue in supporting interoperability is achieving type compatibility. Type compatibility allows (a) entities developed by various.
Configuration management
Distributed Data Processing
COM vs. CORBA.
Demonstrators: Mudasir Nazir(08-CS-41).  I am highly addicted to this field.  Working with W3C in research program(building CSS for creating web site.
Chapter 15: Packaged Software and Enterprise Resource Planning
Chapter 4 Quality Assurance in Context
Software Reuse SEII-Lecture 28
Lesson 6 Software and Hardware Interaction
Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department of Defense © 1998 by Carnegie Mellon.
Sponsored by the U.S. Department of Defense © 2005 by Carnegie Mellon University 1 Pittsburgh, PA Dennis Smith, David Carney and Ed Morris DEAS.
CSCU 411 Software Engineering Chapter 2 Introduction to Software Engineering Management.
Chapter 9 Designing Systems for Diverse Environments.
How to adjust to company culture.  Understanding organizations  Language  Story-telling  Examples of change projects in organizations  Power without.
1 IBM SanFrancisco Product Evaluation Negotiated Option Presentation By Les Beckford May 2001.
Distributed DBMSs A distributed database is a single logical database that is physically distributed to computers on a network. Homogeneous DDBMS has the.
Copyright 2002 Prentice-Hall, Inc. Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 1: Introduction to Windows Server 2003.
1 Chapter 1 Software and Software Engineering Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
Scientific method - 1 Scientific method is a body of techniques for investigating phenomena and acquiring new knowledge, as well as for correcting and.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 1: Introduction to Windows Server 2003.
Chapter 9: Moving to Design
8 Systems Analysis and Design in a Changing World, Fifth Edition.
1 Problems and solutions: Maintaining an integrated system in a community of volunteers Thomas Østerlie Name, title of the presentation.
Introduction to Systems Analysis and Design
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 1: Introduction to Windows Server 2003.
Overview SAP Basis Functions. SAP Technical Overview Learning Objectives What the Basis system is How does SAP handle a transaction request Differentiating.
Information Technology
Maintaining a Microsoft SQL Server 2008 Database SQLServer-Training.com.
M1G Introduction to Programming 2 4. Enhancing a class:Room.
1 - 1 Copyright © 2006, The McGraw-Hill Companies, Inc. All rights reserved.
Information ITIL Technology Infrastructure Library ITIL.
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
Human Resource Management Lecture 27 MGT 350. Last Lecture What is change. why do we require change. You have to be comfortable with the change before.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
Cluster Reliability Project ISIS Vanderbilt University.
© 2013, published by Flat World Knowledge 10-1 Information Systems: A Manager’s Guide to Harnessing Technology, version 2.0 John Gallaugher.
Configuration Management (CM)
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 1: Introduction to Windows Server 2003.
Optimizing Oracle Licensing- An Oracle Primmer Computer Measurement Group June 25, 2010.
Lecture on Computer Science as a Discipline. 2 Computer “Science” some people argue that computer science is not a science in the same sense that biology.
16 1 Installation  After development and testing, system must be put into operation  Important planning considerations Costs of operating both systems.
ISM 5316 Week 3 Learning Objectives You should be able to: u Define and list issues and steps in Project Integration u List and describe the components.
Chapter 14 Part II: Architectural Adaptation BY: AARON MCKAY.
1 ISA&D29-Oct ISA&D29-Oct-13 Systems Analyst: problem solver IT and Strategic Planning.
Information Systems Engineering. Lecture Outline Information Systems Architecture Information System Architecture components Information Engineering Phases.
SOFTWARE ENGINEERING Chapter 1. Introduction We can’t run the modern world without software. Why? Discussion….
CEN5011, Fall CEN5011 Software Engineering Dr. Yi Deng ECS359, (305)
Chapter 2 Introduction to Systems Architecture. Chapter goals Discuss the development of automated computing Describe the general capabilities of a computer.
By Rashid Khan Lesson 6-Building a Directory Service.
© 2013, published by Flat World Knowledge Chapter 10 Understanding Software: A Primer for Managers 10-1.
An Overview of Support of Small Embedded Systems with Some Recommendations Controls Working Group April 14, 2004 T. Meyer, D. Peterson.
State of Georgia Release Management Training
Silberschatz, Galvin and Gagne ©2011 Operating System Concepts Essentials – 8 th Edition Chapter 2: The Linux System Part 1.
Document Name CONFIDENTIAL Version Control Version No.DateType of ChangesOwner/ Author Date of Review/Expiry The information contained in this document.
UCI Large-Scale Collection of Application Usage Data to Inform Software Development David M. Hilbert David F. Redmiles Information and Computer Science.
Software. Introduction n A computer can’t do anything without a program of instructions. n A program is a set of instructions a computer carries out.
JRA1 Meeting – 09/02/ Software Configuration Management and Integration EGEE is proposed as a project funded by the European Union under contract.
1 Lesson 6 Software and Hardware Interaction Computer Literacy BASICS: A Comprehensive Guide to IC 3, 3 rd Edition Morrison / Wells.
Test Loads Andy Wang CIS Computer Systems Performance Analysis.
Objectives Differentiate between the different editions of Windows Server 2003 Explain Windows Server 2003 network models and server roles Identify concepts.
A451 Theory – 7 Programming 7A, B - Algorithms.
CSC 480 Software Engineering
Chapter 2: The Linux System Part 1
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Chapter 7 –Implementation Issues
IBM Tivoli Storage Manager
Presentation transcript:

1 Debugging Integrated Systems: An Ethnographic Study of Debugging Practice Thomas Østerlie & Alf Inge Wang Debugging Integrated Systems

2 Overview Background –Debugging –Motivation –Sensemaking Research setting –Overview Gentoo –Gentoo’s formal debugging process Five characteristics of debugging practice in Gentoo –C1: Spans a variety of operating environments –C2: Collective –C3: Social –C4: Heterogeneous –C5: Ongoing Concluding remarks –Brief summary –Transferability of findings –Implications

3 Debugging: The traditional view Trace a causal chain from reported failure to its corresponding fault Access to and control over source code critical for this form of debugging

4 Motivation Increased focus on systems integration –Component-based development –Information systems and enterprise integration –Service-Oriented Architecture Debugging integrated systems –Software being integrated is developed and maintained by third- parties –Integrators have to debug systems without access to the source code of the components being integrated What do systems integrators do in practice when debugging? –Little is known about the debugging of integrated systems –Need to understand what is going on before improving on the process

5 Sensemaking Problem solving –Individual cognitive activity –Clearly defined problems and resources to solve the problem –Problem: software failure –Resources: tools and techniques for locating the fault Problem setting (Sch ö n 1991) –Problems do not present themselves as givens –Make a situation that is puzzling, troubling, uncertain into something that makes sense –Constructing problems from the materials of problematic situations Sensemaking (Weick 1995) –‘What is going on?’ A group’s collective experiences of a problems situation progressively clarified –Action precedes understanding Active engagement with the problem situation Understanding is retrospective

6 Research setting: Gentoo Community of volunteer software developers –320 official Gentoo developers –Distributed across 38 countries, 17 time zones –Develop and maintain a software system for integrating third-party OSS packages with various Unix operating systems The Gentoo software distribution – Integrator’s view –8,480 third-party packages supported –One installation script for every version of each supported package –Total of 23,900 installation scripts in package database –Total SLOC of 671,971 in package database –Supports 6 different Unix operating systems (5 processors on GNU/Linux) Gentoo installation – User’s view –Runs on a local computer –Local copy of the Gentoo package database –Uses the Gentoo package manager to integrate third-party OSS packages with the local system

7 Formal process of debugging in Gentoo

8 C1: Spans a variety of operating environments Variety of operating environments among individual Gentoo installations: –Configuration of individual packages Optionals Virtuals –Operating system –System evolution “Variation kills reproducibility” –State of individual Gentoo installations often impossible to replicate –Reproduction of reported failure therefore often impossible Problem situation, rather than clearly defined software failures

9 C2: Collective User and developers work together to make sense of the problem situation Collaborative debugging –User provides data - creates the materials of the problem situation –Developers interpret data, request new data Collaborative environment –User to developer communication: Problem reports –Developer to developer communication: IRC channel

10 C3: Social Workload Priorities –Reproducible vs. irreproducible –Curb work load vs. retaining users’ interest Responsibilities –Formal roles –Actual problem –Negotiate to bridge reality of formal roles with reality of actual problem –Determining responsibility inherent in sensemaking process DateNew reportsReports closedOpen reportsNumber of developers January 6, Not avail January 5, January 3, Not avail. January 16,

11 Exhibit: Enacting responsibilities StatementResearchers’ commentary Reporting user: I have installed my system from scratch The problem is related to the way Gentoo integrates software, and therefore the Gentoo developers' responsibility Developer A: [making reference to the systems information provided with the problem report] Is using an x86 profile for an amd64 machine troublesome? The reported problem is related to the way the user's Gentoo systems configuration; therefore the user's responsibility Developer B: [making reference to the installation script] Turning off the optional esound support might solve the problem. The problem may be related to how the package integrates with the esound package, and the third-party provider's responsibility. Developer A: [making reference to the compiler error provided with the problem report] Why is it that the thing can't find pthread? is that because of a missing - pthread The problem is related to the use of the pthreads library, and therefore the responsibility of another herd. Developer B: sounds like the glibc library was upgraded Related to the user's system configuration, and his responsibility

12 Summary of findings Debugging integrated systems is a collective sensemaking process Cyclic rather than linear Influenced by technical as well as social factors More than individual problem solving Process driven by plausibility rather than accuracy

13 Transferability of findings Presented findings to systems integrators –International network of researchers and practitioners –R&D department of a global telecom –National consultancy specializing in systems integration Similarities between commercial and volunteer context –Finding the problem is the problem –The role of organizational issues –The precarious relationship between systems integrator as provider and customers Similarities between systems integration and application development (tentative) –Finding the problem is the problem –The role of organization issues

14 Implications For research #1: Distinction corrective maintenance and debugging –Not useful when studying practice –The practice of debugging closely intertwined with the administration of the corrective maintenance process For research #2: For systems integrators the software failure is not an unproblematic phenomenon –Subject to interpretation and negotiation –What constitutes a software failure contingent upon the situation (workload, priorities, responsibilities, access to technical data) –Clear relation between error in code and observed failures too simplistic –Need better models for understanding software failures in practice Implications for practice –Difficult to determine what data is relevant prior to engaging with the problem –Comprehensive classification schemas of limited use for users reporting problems –Defect tracking systems need to support interaction between the reporting user and the system integrators debugging the problem

15 Thank you for your time. Questions?