Covrig: A Framework for the Analysis of Code, Test, and Coverage Evolution in Real Software Paul Marinescu, Petr Hosek, Cristian Cadar Imperial College.

Slides:



Advertisements
Similar presentations
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Advertisements

You have been given a mission and a code. Use the code to complete the mission and you will save the world from obliteration…
Advanced Piloting Cruise Plot.
1
After Baptism, What Then?. Things To Remember... You are a new creature 2Co 5:17; Ro 6:3-4 You are a babe in Christ 1Co 3:1-2; He 5:12-14 You are in a.
© 2008 Pearson Addison Wesley. All rights reserved Chapter Seven Costs.
Copyright © 2003 Pearson Education, Inc. Slide 1 Computer Systems Organization & Architecture Chapters 8-12 John D. Carpinelli.
Chapter 1 The Study of Body Function Image PowerPoint
Author: Julia Richards and R. Scott Hawley
1 Copyright © 2010, Elsevier Inc. All rights Reserved Fig 2.1 Chapter 2.
By D. Fisher Geometric Transformations. Reflection, Rotation, or Translation 1.
Properties Use, share, or modify this drill on mathematic properties. There is too much material for a single class, so you’ll have to select for your.
1 Building a Fast, Virtualized Data Plane with Programmable Hardware Bilal Anwer Nick Feamster.
UNITED NATIONS Shipment Details Report – January 2006.
Business Transaction Management Software for Application Coordination 1 Business Processes and Coordination.
We need a common denominator to add these fractions.
1 RA I Sub-Regional Training Seminar on CLIMAT&CLIMAT TEMP Reporting Casablanca, Morocco, 20 – 22 December 2005 Status of observing programmes in RA I.
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Title Subtitle.
Properties of Real Numbers CommutativeAssociativeDistributive Identity + × Inverse + ×
My Alphabet Book abcdefghijklm nopqrstuvwxyz.
0 - 0.
DIVIDING INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
MULT. INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
FACTORING Think Distributive property backwards Work down, Show all steps ax + ay = a(x + y)
FACTORING ax2 + bx + c Think “unfoil” Work down, Show all steps.
Addition Facts
Year 6 mental test 5 second questions
Year 6 mental test 10 second questions
Around the World AdditionSubtraction MultiplicationDivision AdditionSubtraction MultiplicationDivision.
Learning to show the remainder
ZMQS ZMQS
BT Wholesale October Creating your own telephone network WHOLESALE CALLS LINE ASSOCIATED.
Debugging operating systems with time-traveling virtual machines Sam King George Dunlap Peter Chen CoVirt Project, University of Michigan.
PP Test Review Sections 6-1 to 6-6
ABC Technology Project
VOORBLAD.
1 RA III - Regional Training Seminar on CLIMAT&CLIMAT TEMP Reporting Buenos Aires, Argentina, 25 – 27 October 2006 Status of observing programmes in RA.
Factor P 16 8(8-5ab) 4(d² + 4) 3rs(2r – s) 15cd(1 + 2cd) 8(4a² + 3b²)
Squares and Square Root WALK. Solve each problem REVIEW:
Basel-ICU-Journal Challenge18/20/ Basel-ICU-Journal Challenge8/20/2014.
1..
Do you have the Maths Factor?. Maths Can you beat this term’s Maths Challenge?
© 2012 National Heart Foundation of Australia. Slide 2.
Lets play bingo!!. Calculate: MEAN Calculate: MEDIAN
LO: Count up to 100 objects by grouping them and counting in 5s 10s and 2s. Mrs Criddle: Westfield Middle School.
Understanding Generalist Practice, 5e, Kirst-Ashman/Hull
Chapter 5 Test Review Sections 5-1 through 5-4.
SIMOCODE-DP Software.
GG Consulting, LLC I-SUITE. Source: TEA SHARS Frequently asked questions 2.
Addition 1’s to 20.
25 seconds left…...
1 Atlantic Annual Viewing Trends Adults 35-54, Total TV, By Daypart Average Minute Audience (000) Average Weekly Reach (%) Average Weekly Hours Viewed.
Januar MDMDFSSMDMDFSSS
Week 1.
Analyzing Genes and Genomes
We will resume in: 25 Minutes.
©Brooks/Cole, 2001 Chapter 12 Derived Types-- Enumerated, Structure and Union.
Essential Cell Biology
A SMALL TRUTH TO MAKE LIFE 100%
PSSA Preparation.
Immunobiology: The Immune System in Health & Disease Sixth Edition
Essential Cell Biology
Immunobiology: The Immune System in Health & Disease Sixth Edition
Traktor- og motorlære Kapitel 1 1 Kopiering forbudt.
Presentation transcript:

Covrig: A Framework for the Analysis of Code, Test, and Coverage Evolution in Real Software Paul Marinescu, Petr Hosek, Cristian Cadar Imperial College London 1

Goal Answer questions about software evolution – Code quality – Test quality – Development model – Testing improvement opportunities …using software development historical data 2

Target Audience Researchers – Hypothesis validation (e.g. are software patches poorly tested?) Programmers/Project Managers – Assess development quality 3

Software Metrics Static – Measured by parsing the software artifacts Dynamic – Require running the evolving software – More challenging – Very few studies 4

Example questions 1.Do executable and test code evolve in sync? 2.How many patches touch only code/test/none/both? 3.What is the distribution of patch sizes? 4.How spread out is each patch through the code? 5.Is test suite execution deterministic? 6.How does the overall coverage evolve? 7.What is the distribution of patch coverage across revisions? 8.What is the latent patch coverage? 9.Are bug fixes better covered than other patches? 10.Is the coverage of buggy code less than average? 5

Data mining infrastructure Empirical case study 6

Covrig Overview

Docker Containers Lightweight, OS-level virtualization – Guest shares kernel with host – Namespace isolation PID Network IPC Filesystem – Resource limiting cgroups + Linux Containers + Docker 8

Docker Containers Features Isolation Consistency Reproducibility Easy cloud deployment Performance 9

Covrig 10

MetricGranularity Static Test sizeLines Executable code size Lines Hunks Patch executable size Files Dynamic Overall coverage Lines Branches Patch coverage Lines Branches Latent patch coverage Lines Test result FAIL/PASS 11

Challenges Evolving dependencies  Evolving containers  Custom compile flags (-Wno-error) 12

Challenges Branching development structure  Consider only the ‘main’ branch Alice Bob r1 r3 m1 r2 r4 r1 r3 r2+r4 13

Challenges Revisions that fail to compile  Accumulate until reaching a compilable revision r1 r2 r3r1+r2+r3 14

Data mining infrastructure Empirical case study 15

Case Study Subjects AppELOC Tests Period (mo) LangLOC Binutils27,029DejaGnu5,18635 Git79,760C/shell108,4645 Lighttpd23,884Python2,44036 Memcached4,426C/Perl4,60547 Redis18,203Tcl7,5896 ZeroMQ7,276C++3, revisions and 12 years of development in total 16

17 Patch type

Is test suite execution deterministic? FAIL/PASS determinism BinutilsGitLighttpdMemcachedRedisZeroMQ Nondeterministic Revisions

Is test suite execution deterministic? Coverage determinism BinutilsGitLighttpdMemcachedRedisZeroMQ Nondeterministic Lines (median)

Test Suite Nondeterminism Causes Bugs – Race conditions – Hardcoded wall clock timeouts – Incorrect resource consumption expectations Random test data Benign race conditions 20

Are patches properly tested? Sometimes 21

Patch coverage 22

Patch coverage 23 0%

Does covered code contain fewer bugs that not covered code? Not really 24

Does covered code contain fewer bugs that not covered code? Patch Coverage (median)Patches Fully Covered BuggyAllBuggyAll Memcached100%89%67%45% Redis94%0%47%25% ZeroMQ71%76%37%33% total bugs

Conclusions Dynamic software metrics mining Case study on 6 systems/1500 revisions/12 years of development Open source extensible infrastructure 26