DevCOP: A Software Certificate Management System for Eclipse Mark Sherriff and Laurie Williams North Carolina State University ISSRE ’06 November 10, 2006.

Slides:



Advertisements
Similar presentations
Test Yaodong Bi.
Advertisements

QuEdge Testing Process Delivering Global Solutions.
Test Automation Success: Choosing the Right People & Process
An Evaluation of MC/DC Coverage for Pair-wise Test Cases By David Anderson Software Testing Research Group (STRG)
Automated Software Testing: Test Execution and Review Amritha Muralidharan (axm16u)
HP Quality Center Overview.
CIS-74 Computer Software Quality Assurance Systematic Software Testing Chapter 1: An Overview of the Testing Process.
Engineering Secure Software. The Power of Source Code  White box testing Testers have intimate knowledge of the specifications, design, Often done by.
Software Delivery. Software Delivery Management  Managing Requirements and Changes  Managing Resources  Managing Configuration  Managing Defects 
Benjamin J. Deaver Advisor – Dr. LiGuo Huang Department of Computer Science and Engineering Southern Methodist University.
MetriCon 2.0 Correlating Automated Static Analysis Alert Density to Reported Vulnerabilities in Sendmail Michael Gegick, Laurie Williams North Carolina.
Software Quality Assurance Inspection by Ross Simmerman Software developers follow a method of software quality assurance and try to eliminate bugs prior.
Testing Without Executing the Code Pavlina Koleva Junior QA Engineer WinCore Telerik QA Academy Telerik QA Academy.
Stepan Potiyenko ISS Sr.SW Developer.
1 Static Testing: defect prevention SIM objectives Able to list various type of structured group examinations (manual checking) Able to statically.
Software Quality Engineering Roadmap
Software Quality Metrics
Swami NatarajanJune 17, 2015 RIT Software Engineering Reliability Engineering.
SE 450 Software Processes & Product Metrics Reliability Engineering.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Verification and Validation l Assuring that a software system meets a user's.
RIT Software Engineering
SE 450 Software Processes & Product Metrics 1 Defect Removal.
Software Testing Prasad G.
Expediting Programmer AWAREness of Anomalous Code Sarah E. Smith Laurie Williams Jun Xu November 11, 2005.
SEG Software Maintenance1 Software Maintenance “The modification of a software product after delivery to correct faults, to improve performance or.
Software Integration and Documenting
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 27 Slide 1 Quality Management 1.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Verification and Validation l Assuring that a software system meets a user's.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Software Engineering Modern Approaches
CLEANROOM SOFTWARE ENGINEERING.
Testing – A Methodology of Science and Art. Agenda To show, A global Test Process which work Like a solution Black Box for an Software Implementation.
Introduction Telerik Software Academy Software Quality Assurance.
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
Teaching material for a course in Software Project Management & Software Engineering – part II.
Verification and Validation Overview References: Shach, Object Oriented and Classical Software Engineering Pressman, Software Engineering: a Practitioner’s.
Project Coordinators: Eduardo Santana de Almeida Silvio Romero de Lemos Meira Federal University of Pernambuco Informatics Center Recife Center for Advanced.
Jump to first page (c) 1999, A. Lakhotia 1 Software engineering? Arun Lakhotia University of Louisiana at Lafayette Po Box Lafayette, LA 70504, USA.
Software Product Line Material based on slides and chapter by Linda M. Northrop, SEI.
Software Testing Łukasz Wojcieszek s2690 Tomasz Wyrzuc s2675.
Verification and Validation Assuring that a software system meets a user's needs.
Code Reviews James Walden Northern Kentucky University.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
1 Chapter 26 Cleanroom Software Engineering Cleanroom Developed in early 80’s by Harlan Mills Reported very good results –reliable, high-quality.
Software Configuration Management (SCM). Product Developer Disciplines One view of the world is that there are three types of activities are required.
A Metrics Program. Advantages of Collecting Software Quality Metrics Objective assessments as to whether quality requirements are being met can be made.
1 One Last Book, One Last Topic Code reviews / software inspections.
Formal Methods in SE Software Verification Using Formal Methods By: Qaisar Javaid, Assistant Professor Formal Methods1.
CPSC 873 John D. McGregor Session 9 Testing Vocabulary.
LOGO TESTING Team 8: 1.Nguyễn Hoàng Khánh 2.Dương Quốc Việt 3.Trang Thế Vinh.
Software Testing Mehwish Shafiq. Testing Testing is carried out to validate and verify the piece developed in order to give user a confidence to use reliable.
Software Quality Assurance and Testing Fazal Rehman Shamil.
CS223: Software Engineering Lecture 21: Unit Testing Metric.
References & User group Reference: Software Testing and Analysis Mauro Pezze Software Engineering Ian Sommerville Eight Edition (2007) User group:
by: Er. Manu Bansal Deptt of IT Software Quality Assurance.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Verification and Validation l Assuring that a software system meets a user's.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini XVII. Verification and Validation.
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Software Development and Safety Critical Decisions
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Software Engineering (CSI 321)
Verification and Validation Overview
Software Quality Engineering
Software Quality Engineering
Ada – 1983 History’s largest design effort
Automation Of Software Test
Quality Measurable characteristic Cyclomatic complexity Cohesion
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
White Box testing & Inspections
Presentation transcript:

DevCOP: A Software Certificate Management System for Eclipse Mark Sherriff and Laurie Williams North Carolina State University ISSRE ’06 November 10, 2006

2 Agenda Background –Motivation and Hypothesis –Software Certificates and Software Certificate Management Systems (SCMS) DevCOP (Defect Estimation with V&V Certificates on Programming) –Research Goal and Methodology –DevCOP Certificates –The DevCOP SCMS Eclipse plug-in Limitations Current Status Questions

3 Motivation Software Reliability –Often not estimated until development is complete –Actual reliability not known until system is shipped to customers Corrective action is more expensive later in the process If defect density could be estimated in-process… –Steps could be taken to address issues early –More economical, could improve development effort

4 Hypothesis Defect density estimation can be based upon the history of verification and validation techniques that have been performed on the project. Questions that need to be answered: What is the best way to record V&V techniques? How do I build a model that can predict defect density with V&V information?

5 Recording V&V Techniques Software Certificates –A record of a verification and validation (V&V) practice employed by developers and used to support traceability between code and evidence of the V&V technique used Software certificates could be any type of record: –Logs from test case runs –Reports from code inspections –Details on pair programming assignments However, these are all different forms of V&V information and maintaining this information could be expensive.

6 Recording V&V Techniques Software Certificate Management Systems –Provides an interface and infrastructure to automatically create, maintain, and analyze software certificates –Benefits: Software maintenance Analysis of V&V technique effectiveness Reference in future projects Current research: –OGI/PSU: Programatica, a SCMS for Haskell

7 DevCOP Research hypothesis: Defect density estimation can be based upon the history of V&V techniques that have been performed on the project. Methodology: Build a parametric model using software certificate information and previous project defect data to create a prediction model for future projects.

8 DevCOP Certificates Records: –identifying information for the function it is associated with including its name, signature, class, and file location; –identifying information for the developer that created it; –the type of V&V technique used; –a hash of the function’s abstract syntax tree (AST); and –a significance weight.

9 DevCOP Certificates Types of Certificates –Manual Includes all manual techniques, such as pair programming and code inspections –Automated Static Analysis Includes all techniques that can be run automatically on uncompiled code –Dynamic Includes all techiques performed automatically at run time, such as black box testing –Formal Includes all formal methods, such as lambda calculus and proofs

10 DevCOP SCMS Eclipse Plug-in Currently supports manual V&V techniques and jcoverage certificates Provides different methods for examining and managing certificate data Demo

11 Potential Side Effects Retrospective Causal Analysis –Once certificates are recorded on a project and bugs are reported, developers can use certificate and defect information to evaluate the efficacy of their V&V practices. Building certificate information in with compiled code base –If certificate information could travel with compiled code, it could be referenced at runtime so that other systems could evaluate whether it was to work with that system.

12 Original Hypothesis Parametric Modeling: Method by which dependant variables are related to one or more independent variables with regard to previous data In Software Engineering… –Purpose is to provide an estimated answer to a software development question earlier in the development lifecycle Famous SE parametric models: COCOMO 81 and COCOMO II

13 Original Hypothesis Early Research: Software Testing Reliability Early Warning –Uses a suite of metrics gathered on static code to provide a reliability estimate If a reliability estimate can be created from testing and static metrics, could it be improved if we added other verification and validation information to the model?

14 Limitations of DevCOP Eclipse Environment –Even though numerous companies do use Eclipse, it might not be standardized Tool Selection –DevCOP uses JCoverage, which might not be the approved coverage tool Does add minimal overhead –Even adding one step can be too much…

15 Evolution of Research The core theory behind DevCOP is that artifacts generated during software development can be useful during the development process. A certificate is simply an artifact of software development. Can we gather certificates or other artifacts with NO ADDITIONAL developer involvement?

16 Evolution of Research SDAA: Software Development Artifact Analysis –By mining source control data, testing records, and other V&V information, new associations can be found between code units. –The type of association is determined by the type of development artifact used.

17 Uses of SDAA Identification of Areas of Risk –Associations generated from defect data Impact Analysis –What files are likely to change together? Test Case Prioritization –How does a particular test relate to a given association?

18 Thank you! Questions? Queries? Quandries? Contact Information: Mark Sherriff DevCOP Project: