TOOL CHOICE MATTERS Kavaler, Trockman, Vasilescu, Filkov SOFTWARE - - PowerPoint PPT Presentation

tool choice matters
SMART_READER_LITE
LIVE PREVIEW

TOOL CHOICE MATTERS Kavaler, Trockman, Vasilescu, Filkov SOFTWARE - - PowerPoint PPT Presentation

TOOL CHOICE MATTERS Kavaler, Trockman, Vasilescu, Filkov SOFTWARE DEVELOPMENT KEEPS CHANGING Waterfall OOP Alexa, Good Morning. flexible o ff the shelf - sets thermostat to 69F modular - turn on lights - play


slide-1
SLIDE 1

TOOL CHOICE MATTERS

Kavaler, Trockman, Vasilescu, Filkov

slide-2
SLIDE 2

SOFTWARE DEVELOPMENT KEEPS CHANGING

➤ Waterfall ➤ OOP ➤ flexible off the shelf ➤ modular ➤ collaborative ➤ agile ➤ platform independence ➤ containers ➤ automation, independence ➤ DevOps, CI, CD

Alexa, Good Morning.


  • sets thermostat to 69F

  • turn on lights 

  • play “Thank u, next”

time

slide-3
SLIDE 3

SOFTWARE DEVELOPMENT KEEPS CHANGING

➤ Waterfall ➤ OOP ➤ flexible off the shelf ➤ modular ➤ collaborative ➤ agile ➤ platform independence ➤ containers ➤ automation, independence ➤ DevOps, CI, CD

Alexa, Good Morning.


  • sets thermostat to 69F

  • turn on lights 

  • play “Thank u, next”

time Relies on Tools
 More and more

slide-4
SLIDE 4

NEW TECH INCREASES PRODUCTIVITY AND PREDICTABILITY

  • A

Component- based Precedented Unprecedented COTS Very-high-level languages Agents, agility, aspects, autonomy B C D Time and domain understanding Relative productivity Estimation error

From Boehm and Valerdi, 2008

slide-5
SLIDE 5

I GOT TOOLS FOR THIS, I GOT TOOLS FOR THAT

➤ Tools available for many tasks ➤ QA: linters, package managers, coverage, testing, deployment

COVERALLS

slide-6
SLIDE 6

I GOT MULTIPLE TOOLS FOR THIS

➤ Many tools available for the same task ➤ E.g., dependency managers ➤ Projects adopt tools with features needed, presumably

slide-7
SLIDE 7

WHICH ONES?

➤ But how are the tools chosen? ➤ What discussions precede the choices? ➤ Are any benefits seen/goals achieved after tool adoption?

slide-8
SLIDE 8

PROJECTS USE MULTIPLE TOOLS

Number of projects 12500 25000 37500 50000 Number of tools 1 2 3 4 5 6 7 8 9 10+

slide-9
SLIDE 9

PROJECTS SWITCH BETWEEN TOOLS

➤ Sometimes projects switch from one tools to another in the

same task class

➤ Why do they switch? Is there a benefit?

slide-10
SLIDE 10

WE LOOKED AT DISCUSSIONS

➤ We expected to find at least some discussions of the choices

clipart-library.com

‘ish

slide-11
SLIDE 11

RESEARCH QUESTIONS

➤RQ1: How often do projects change between tools within the same

task class?

➤RQ2: Are there measurable changes, in terms of monthly churn, pull

requests, number of contributors, and issues, associated with adopting a tool? Are different tools within an equivalence class associated with different outcomes?

➤RQ3: Are certain tool adoption sequences more associated with

changes in our outcomes of interest than others?

slide-12
SLIDE 12

STUDY DESIGN

➤ Research methodology ➤ Software Repository mining ➤ Quasi-experiments, modeling, hypothesis testing ➤ Case studies for triangulation, theory building ➤ Focus: 3 task classes (linters, dependency managers, code

coverage)

➤ Data: 54,440 projects, 38,948 tool adoptions

slide-13
SLIDE 13

RQ1: TOOL SWITCHING ALLUVIAL DIAGRAMS

1 2 3 200 400 600 800 1 2 3 Dependency Manager 1 2 3 5000 10000 15000 20000 25000

Tool

bithound david gemnasium

slide-14
SLIDE 14

RQ1: TOOL SWITCHING ALLUVIAL DIAGRAMS

1 2 3 200 400 600 800 1 2 3 Dependency Manager 1 2 3 5000 10000 15000 20000 25000

Tool

bithound david gemnasium

Most projects choose one tool within a task class and stick with it. When projects adopt additional tools within the same task class, they go with the most popular choice.

slide-15
SLIDE 15

RQ2: EFFECTIVENESS BEFORE AND AFTER ADOPTION

Effectiveness variables: churn, #pull requests, #unique authors, #issues

slide-16
SLIDE 16

INTERRUPTED TIME SERIES: REGRESSION DISCONTINUITY

time: 1 2 3 … … … 100 101 102 … … … 200 intervention: 0 0 0 … … … 1 1 1 … … … 1 time after intervention: 0 0 0 … … … 1 2 3 … … … 100

yi = α + β·timei + ɣ·interventioni + δ·time_after_interventioni + εi

β β + δ ɣ

slide-17
SLIDE 17

SLOPE INCREASES OR DECREASES, AND DISCONTINUITY

slide-18
SLIDE 18

SOME RESULTS

slide-19
SLIDE 19

SOME RESULTS

Control Variables

slide-20
SLIDE 20

RQ3: ON ADOPTION ORDER

slide-21
SLIDE 21

RQ3: SOME RESULTS

slide-22
SLIDE 22

CONCLUSION AND FUTURE

➤ Tool choice matters but it is not discussed much ➤ Projects can benefit from adopting the right tool ➤ The order in which tools are adopted matters ➤ Future goal: bespoke tool pipelines, depending on project

context

slide-23
SLIDE 23

THANKS!

➤ NSF ➤ DECAL @ UCD ➤ Strudel @ CMU