Accelerating SE research adoption with Analysis Bots - - PowerPoint PPT Presentation

accelerating se research adoption with analysis bots
SMART_READER_LITE
LIVE PREVIEW

Accelerating SE research adoption with Analysis Bots - - PowerPoint PPT Presentation

Accelerating SE research adoption with Analysis Bots https://github.com/AnalysisBotsPlatform Ivan Beschastnikh, Mircea F. Lungu, Yanyan Zhuang U. of British U. of Groningen U. of Colorado Columbia Colorado Springs Canada Wanted: SE


slide-1
SLIDE 1

https://github.com/AnalysisBotsPlatform

Accelerating SE research adoption with Analysis Bots

Ivan Beschastnikh, Mircea F. Lungu, Yanyan Zhuang

  • U. of British

Columbia Canada

  • U. of Groningen
  • U. of Colorado

Colorado Springs

slide-2
SLIDE 2

University of British Columbia Ivan Beschastnikh

Wanted: SE research impact

2

  • SE research community developing numerous analysis

techniques and tools that use them

  • But, practitioner adoption is a struggle

[1] Brittany Johnson et al. “Why Don’t Software Developers Use Static Analysis Tools to Find Bugs?” ICSE 2013 


“many tools are so hard to configure, they prevent you from doing anything.” [1] “I find that the information they provide is not very useful, so I tend to ignore them.” [1] “if it disrupts your flow, you’re not gonna use it.” [1]

slide-3
SLIDE 3

University of British Columbia Ivan Beschastnikh

Each paper creates its own zoo

3

  • (Stereotypical) SE research evaluation workflow:
  • Identify a set of projects/revisions
  • Run the tool on revisions
  • (Optional) Submit bug reports to projects e.g., [1]
  • Write evaluation section

[1] Boyuan et al. “Characterizing and Detecting Anti-patterns in the Logging Code” ICSE 2017

slide-4
SLIDE 4

University of British Columbia Ivan Beschastnikh

Each paper creates its own zoo

4

petting

slide-5
SLIDE 5

University of British Columbia Ivan Beschastnikh

Each paper creates its own zoo

5

petting

  • Tool runs on project in

controlled environment

  • No involvement of the

project community

  • Tool not used by target

user population

slide-6
SLIDE 6

University of British Columbia Ivan Beschastnikh

Each paper creates its own zoo

6

petting

  • Tool run in controlled

environment

  • No involvement of the

project community

  • Tool not used by target

user population

End-result: slow tool adoption and low research impact

slide-7
SLIDE 7

University of British Columbia Ivan Beschastnikh

Going into the wild

7

slide-8
SLIDE 8

University of British Columbia Ivan Beschastnikh

Going into the wild: it’s hard!

8

  • How will they want to

use the tools?

  • Easy to install
  • Simple to configure
  • Immediate value
  • How will developers find the research tool?
  • Requires evangelism/advertising
  • How will developers use the research tool?
  • Requires end-to-end working artifact
slide-9
SLIDE 9

University of British Columbia Ivan Beschastnikh

Going into the wild: it’s hard!

9

  • How will they want to

use the tools?

  • Easy to install
  • Simple to configure
  • Immediate value
  • How will developers find the research tool?
  • Requires evangelism/advertising
  • How will developers use the research tool?
  • Requires end-to-end working artifact
slide-10
SLIDE 10

University of British Columbia Ivan Beschastnikh

Rethinking SE research transfer

10

  • How do we make it easier (for researchers)?
slide-11
SLIDE 11

University of British Columbia Ivan Beschastnikh

Rethinking SE research transfer

11

  • How do we make it easier (for researchers)?

…What if developers came to us?

slide-12
SLIDE 12

University of British Columbia Ivan Beschastnikh

Rethinking SE research transfer

12

  • How do we make it easier (for researchers)?

…What if developers came to us?

Idea: Build a one-stop-shop platform for hosting research tools (analysis bots)

slide-13
SLIDE 13

University of British Columbia Ivan Beschastnikh

Analysis bots platform vision

13

Analysis bot := partial automation of some SE task

  • Low barrier to entry
  • For bot users/developers
  • Fine-grained bot control
  • Developer in control
  • Openness
  • Anyone can use/build a bot

Key features

slide-14
SLIDE 14

University of British Columbia Ivan Beschastnikh

Analysis bots platform vision

14

Analysis bot := partial automation of some SE task

  • Low barrier to entry
  • For bot users/developers
  • Fine-grained bot control
  • Developer in control
  • Openness
  • Anyone can use/build a bot

Key features …like iRobot!

slide-15
SLIDE 15

University of British Columbia Ivan Beschastnikh

How would it work?

15

Versions, Issues, … Bot Runner

Mediam Social coding platforms

Project Development Bot Upload Twitter Mail Chat Bots Dashboard Pull requests Issues

Bot creators

Reporter API Bot Ranker

Developers

(you?)

slide-16
SLIDE 16

University of British Columbia Ivan Beschastnikh

How would it work?

16

Versions, Issues, … Bot Runner

Mediam Social coding platforms

Project Development Bot Upload Twitter Mail Chat Bots Dashboard Pull requests Issues

Bot creators

Reporter API Bot Ranker

Developers

slide-17
SLIDE 17

University of British Columbia Ivan Beschastnikh

How would it work?

17

Versions, Issues, … Bot Runner

Mediam Social coding platforms

Project Development Bot Upload Twitter Mail Chat Bots Dashboard Pull requests Issues

Bot creators

Reporter API Bot Ranker

Developers

slide-18
SLIDE 18

University of British Columbia Ivan Beschastnikh

How would it work?

18

Versions, Issues, … Bot Runner

Mediam Social coding platforms

Project Development Bot Upload Twitter Mail Chat Bots Dashboard Pull requests Issues

Bot creators

Reporter API Bot Ranker

Developers

slide-19
SLIDE 19

University of British Columbia Ivan Beschastnikh

Defining the right APIs is key

19

Versions, Issues, … Bot Runner

Mediam Social coding platforms

Project Development Bot Upload Twitter Mail Chat Bots Dashboard Pull requests Issues

Bot creators

Reporter API Bot Ranker

Developers

slide-20
SLIDE 20

University of British Columbia Ivan Beschastnikh

Analysis bots benefits

20

  • Naturalistic evaluation
  • Improved replication of academic artifacts
  • Deals with aspects of tool delivery that

tool developers don’t want to deal with

  • Quick iteration to understand what works

and what doesn’t

  • Developers get to subscribe and use the

latest and greatest SE research (Survival of the fittest: most useful tools receive attention and contributions)

slide-21
SLIDE 21

University of British Columbia Ivan Beschastnikh

Open questions

21

  • Trust/discovery: how to bootstrap

uptake of the platform?

  • Preventing abuse: what are the

appropriate and inappropriate ways in which analysis bots can interact with developers?

  • Usability: how can analysis bots be

designed to prevent information overload for developers?

  • Economics: How and where should these

bots be hosted?

  • Design: What are the right platform APIs

and reputation system?

slide-22
SLIDE 22

Related work

University of British Columbia Ivan Beschastnikh

22

  • Google: Tricorder [1] and Shipshape [2] (analysis infrastructure)
  • Academia: CodeDrones [3]
  • More academia: Testing-as-a-service [4] and AppInspector [5]
  • OpenSource: Various bots on GitHub; Imageoptimiser bot [6]
  • Other ‘bots’: Hubot programmable bot [7]

[1] Sadowski et al. Tricorder: Building a Program Analysis Ecosystem. ICSE 2015 [2] https://github.com/google/shipshape [3] Acharya et al. Code Drones. ICSE 2016 [4] Candea et al. Automated Software Testing As a Service. In SoCC, 2010. [5] Gilbert et al. Automated Security Validation of Mobile Apps at App Markets. MCS, 2011
 [6] https://github.com/imageoptimiser [7] https://hubot.github.com/

slide-23
SLIDE 23

University of British Columbia Ivan Beschastnikh

23

+

Centralized repository

+

A robust reputation system

+

Common APIs and runtimes

SE research adoption a consistent challenge; requires concentrated effort

https://github.com/AnalysisBotsPlatform

Analysis bots vision

Vision: Analysis Bots platform lowers barriers for developers and researchers

  • Bot discovery
  • Trust
  • Information overload