accelerating se research adoption with analysis botsbestchai/papers/analysis-bots...-tool runs on...

23
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

Upload: duongdieu

Post on 15-Mar-2018

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Accelerating SE research adoption with Analysis Botsbestchai/papers/analysis-bots...-Tool runs on project in controlled environment-No involvement of the project community -Tool not

https://github.com/AnalysisBotsPlatform

Accelerating SE research adoption with Analysis Bots

Ivan Beschastnikh, Mircea F. Lungu, Yanyan Zhuang

U. of British ColumbiaCanada

U. of Groningen U. of ColoradoColorado Springs

Page 2: Accelerating SE research adoption with Analysis Botsbestchai/papers/analysis-bots...-Tool runs on project in controlled environment-No involvement of the project community -Tool not

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]

Page 3: Accelerating SE research adoption with Analysis Botsbestchai/papers/analysis-bots...-Tool runs on project in controlled environment-No involvement of the project community -Tool not

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

Page 4: Accelerating SE research adoption with Analysis Botsbestchai/papers/analysis-bots...-Tool runs on project in controlled environment-No involvement of the project community -Tool not

University of British Columbia Ivan Beschastnikh

Each paper creates its own zoo

4

petting

Page 5: Accelerating SE research adoption with Analysis Botsbestchai/papers/analysis-bots...-Tool runs on project in controlled environment-No involvement of the project community -Tool not

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

Page 6: Accelerating SE research adoption with Analysis Botsbestchai/papers/analysis-bots...-Tool runs on project in controlled environment-No involvement of the project community -Tool not

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

Page 7: Accelerating SE research adoption with Analysis Botsbestchai/papers/analysis-bots...-Tool runs on project in controlled environment-No involvement of the project community -Tool not

University of British Columbia Ivan Beschastnikh

Going into the wild

7

Page 8: Accelerating SE research adoption with Analysis Botsbestchai/papers/analysis-bots...-Tool runs on project in controlled environment-No involvement of the project community -Tool not

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

Page 9: Accelerating SE research adoption with Analysis Botsbestchai/papers/analysis-bots...-Tool runs on project in controlled environment-No involvement of the project community -Tool not

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

Page 10: Accelerating SE research adoption with Analysis Botsbestchai/papers/analysis-bots...-Tool runs on project in controlled environment-No involvement of the project community -Tool not

University of British Columbia Ivan Beschastnikh

Rethinking SE research transfer

10

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

Page 11: Accelerating SE research adoption with Analysis Botsbestchai/papers/analysis-bots...-Tool runs on project in controlled environment-No involvement of the project community -Tool not

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?

Page 12: Accelerating SE research adoption with Analysis Botsbestchai/papers/analysis-bots...-Tool runs on project in controlled environment-No involvement of the project community -Tool not

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)

Page 13: Accelerating SE research adoption with Analysis Botsbestchai/papers/analysis-bots...-Tool runs on project in controlled environment-No involvement of the project community -Tool not

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

Page 14: Accelerating SE research adoption with Analysis Botsbestchai/papers/analysis-bots...-Tool runs on project in controlled environment-No involvement of the project community -Tool not

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!

Page 15: Accelerating SE research adoption with Analysis Botsbestchai/papers/analysis-bots...-Tool runs on project in controlled environment-No involvement of the project community -Tool not

University of British Columbia Ivan Beschastnikh

How would it work?

15

Versions, Issues, …

Bot Runner

Mediam

Social coding platforms

Project Development

Bot Upload

TwitterMail

Chat BotsDashboard

Pull requestsIssues

Bot creators

Reporter

API

Bot Ranker

Developers

(you?)

Page 16: Accelerating SE research adoption with Analysis Botsbestchai/papers/analysis-bots...-Tool runs on project in controlled environment-No involvement of the project community -Tool not

University of British Columbia Ivan Beschastnikh

How would it work?

16

Versions, Issues, …

Bot Runner

Mediam

Social coding platforms

Project Development

Bot Upload

TwitterMail

Chat BotsDashboard

Pull requestsIssues

Bot creators

Reporter

API

Bot Ranker

Developers

Page 17: Accelerating SE research adoption with Analysis Botsbestchai/papers/analysis-bots...-Tool runs on project in controlled environment-No involvement of the project community -Tool not

University of British Columbia Ivan Beschastnikh

How would it work?

17

Versions, Issues, …

Bot Runner

Mediam

Social coding platforms

Project Development

Bot Upload

TwitterMail

Chat BotsDashboard

Pull requestsIssues

Bot creators

Reporter

API

Bot Ranker

Developers

Page 18: Accelerating SE research adoption with Analysis Botsbestchai/papers/analysis-bots...-Tool runs on project in controlled environment-No involvement of the project community -Tool not

University of British Columbia Ivan Beschastnikh

How would it work?

18

Versions, Issues, …

Bot Runner

Mediam

Social coding platforms

Project Development

Bot Upload

TwitterMail

Chat BotsDashboard

Pull requestsIssues

Bot creators

Reporter

API

Bot Ranker

Developers

Page 19: Accelerating SE research adoption with Analysis Botsbestchai/papers/analysis-bots...-Tool runs on project in controlled environment-No involvement of the project community -Tool not

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

TwitterMail

Chat BotsDashboard

Pull requestsIssues

Bot creators

Reporter

API

Bot Ranker

Developers

Page 20: Accelerating SE research adoption with Analysis Botsbestchai/papers/analysis-bots...-Tool runs on project in controlled environment-No involvement of the project community -Tool not

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)

Page 21: Accelerating SE research adoption with Analysis Botsbestchai/papers/analysis-bots...-Tool runs on project in controlled environment-No involvement of the project community -Tool not

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?

Page 22: Accelerating SE research adoption with Analysis Botsbestchai/papers/analysis-bots...-Tool runs on project in controlled environment-No involvement of the project community -Tool not

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/

Page 23: Accelerating SE research adoption with Analysis Botsbestchai/papers/analysis-bots...-Tool runs on project in controlled environment-No involvement of the project community -Tool not

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