Humans in the loop?

18
HUMANS IN THE LOOP? THE ROLE OF HUMANS IN PROVIDING HIGH-QUALITY SOFTWARE SYSTEMS STAF’2016, Viena Juan de Lara Modelling&Software Engineering Research Group http://miso.es @miso_uam

Transcript of Humans in the loop?

Page 1: Humans in the loop?

HUMANS IN THE LOOP?

THE ROLE OF HUMANS IN

PROVIDING HIGH-QUALITY

SOFTWARE SYSTEMS

STAF’2016, Viena

Juan de Lara

Modelling&Software Engineering Research Group

http://miso.es

@miso_uam

Page 2: Humans in the loop?

DRIVERLESS CARS

2

Page 3: Humans in the loop?

DRIVERLESS CARS

• Will humans be allowed to drive in the future?

• Humans make mistakes

• Decide where to go, supervision 3

Page 4: Humans in the loop?

DRIVERLESS CARS

4

• Will humans be allowed to drive in the future?

• Humans make mistakes

• Decide where to go, supervision

Page 5: Humans in the loop?

PROGRAMMERLESS

PROGRAMMING?

5

• Will humans be allowed to (write safety-critical) code

in the future?

• Humans make mistakes

• Decide what to do, supervision

Page 6: Humans in the loop?

PROGRAMMERLESS

PROGRAMMING?

6

is programming like driving?

Page 7: Humans in the loop?

IS PROGRAMMING LIKE

PLAYING CHESS?

7

1996: Deep-blue – Kasparov (Kasparov won 4-2)

1997: Deep-blue – Kasparov (Deep-blue won 2.5-3.5)

Page 8: Humans in the loop?

IS PROGRAMMING LIKE

PLAYING GO?

8

In March 2016, AlphaGo

beat Lee Sedol (4—1), one

of the best Go players in

the world

Monte-Carlo tree search

combined with deep

neural networks

Page 9: Humans in the loop?

JEOPARDY!

IBM WATSON

9

• Q/A system in natural language, based on machine

learning

• Won Jeopardy! (a US quizz show) in 2011

• Used in e.g., healthcare, marketing, etc.

Page 10: Humans in the loop?

APPLE’S SIRI

10

Q/A system based on natural language

Now [June 2016] open to third-party developers

Page 11: Humans in the loop?

PROGRAMMING IN

NATURAL LANGUAGE?

11

“Projects promoting programming in

natural language are intrinsically

doomed to fail”.

Edsger Dijkstra

[1930—2002]

Page 12: Humans in the loop?

12

PROGRAMMING IN

NATURAL LANGUAGE?

Page 13: Humans in the loop?

PROGRAMMING

ASSISTANTS

13

• Code (API) recommenders

• Better quick fix proposals

• Better code completion

• Machine learning (Watson-like) +

• Stackoverflow

• Static analysis

• Automated testing

• Automated debugging

• Automated program repair

Page 14: Humans in the loop?

PROGRAMMING

ASSISTANTS

14

It looks you are

writing a program

Would you like help?

• Code (API) recommenders

• Better quick fix proposals

• Better code completion

• Machine learning (Watson-like) +

• Stackoverflow

• Static analysis

• Automated testing

• Automated debugging

• Automated program repair

Page 15: Humans in the loop?

SOCIALLY ENHANCED

PROGRAMMING

15

• Development taking advantage of social networks

• Technical problems

• Crowdsourcing

• Small programming tasks (e.g., https://bountify.co/)

• Testing (e.g., https://bugcrowd.com/, https://www.utest.com/)

Page 16: Humans in the loop?

SOCIALLY ENHANCED

PROGRAMMING

16

• Development taking advantage of social networks

• Technical problems

• Crowdsourcing

• Small programming tasks (e.g., https://bountify.co/)

• Testing (e.g., https://bugcrowd.com/, https://www.utest.com/)

• Can design be crowdsourced?

• No

Page 17: Humans in the loop?

NOT ONLY PROFESSIONAL

DEVELOPERS…

“In the future, everyone will be a developer for 15 minutes”

End-user development

• Spreadsheets

• IFTTT

• …

Powerful DSLs

• Mobile

• Web

• Social

17

Page 18: Humans in the loop?

THANKS!

STAF’2016, Viena

Juan de Lara

Modelling&Software Engineering Research Group

http://miso.es

@miso_uam