Presentation is loading. Please wait.

Presentation is loading. Please wait.

Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Search and the Crowd: Next-Generation Software.

Similar presentations


Presentation on theme: "Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Search and the Crowd: Next-Generation Software."— Presentation transcript:

1 Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Search and the Crowd: Next-Generation Software Tools André van der Hoek andre@ics.uci.edu

2 Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 2 Long, long ago…

3 Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 3 …and then…

4 Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 4 …and then…

5 Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 5 …and now…

6 Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 6 …and now…

7 Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 7 …but what about tomorrow?

8 Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 8 Two projects Social-technical code search Crowdsourcing

9 Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 9 Google ‘secure key generation Java’ A sub-page of a longer tutorial that only shows a small portion of the overall code of how to generate a digital signature; A sub-page in a longer tutorial for keytool, which is entirely unrelated; The JavaDoc page for class KeyGenerator (listing methods and their signatures only); A WikiJava page with code encrypting and decrypting a message, together with some user comments, most of which are “thank you’s”, though one, interestingly, links to another WikiJava page containing an adaptation of the sample code; A java2s.com page that provides an index into seventeen code snippets, each using a different encryption algorithm but otherwise exactly the same; The code snippet from the first link of the java2s.com page; A StackOverflow page asking for help with an exception in using the Java crypto libraries; A StackOverflow page asking for help with an adaptation to some sample code so the same key is generated each time; A StackOverflow page asking for help with a license key (completely unrelated to programming); and A StackOverflow page asking how to move a key from one machine to another

10 Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 10 Requirements Search for real code, in real use Be able to understand the context surrounding the results of the search Know the history of the code in terms of how it has been adopted and adapted Work with search results directly in the development environment

11 Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 11 Context Information typeSpecific data element Static information- which project - which authors - source language - OS Derived information- code churn - past buggyness - number of authors - test coverage Code history- projects that adopted the code - how the code was adapted Adaptation effort- number of edits - number of build/test failures - time estimate Social environment- network of colleagues - network of friends - recommendations Social feedback- reputation - tags

12 Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 12 Interface design #1

13 Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 13 Interface design #2

14 Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 14 CodeExchange prototype

15 Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 15 CodeExchange prototype

16 Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 16 Three projects Social-technical code search Crowdsourcing

17 Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 17 Crowdsourcing: motivation 1

18 Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 18 Crowdsourcing: motivation 2 Microsoft, Facebook, Apple, Lockheed Martin, Department of Homeland Security, Los Alamos National Lab, …

19 Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 19 Crowdsourcing: motivation 2 Microsoft, Facebook, Apple, Lockheed Martin, Department of Homeland Security, Los Alamos National Lab, … What if, in a time of crisis, … – …our defenses are not strong enough, and critical software is stolen? – …our adversaries act in ways we did not anticipate, or succeed in developing new capabilities that eclipse ours?

20 Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 20 Crowdprogramming Mobilize unprecedented numbers of people to develop new, complex software capabilities, ultrafast Break the traditional notion of a development task and think of work in microtasks Fundamentally rethink current development tools, environments, and processes

21 Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 21 Crowdcode

22 Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 22 Crowdcode

23 Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 23 Crowdcode

24 Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 24 Crowdcode

25 Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 25 Crowdcode

26 Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 26 Crowdcode

27 Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 27 Crowdcode

28 Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 28 Key research questions What is the software equivalent of a microtask? How to coordinate at massive scale? How to deal with failure? What tool infrastructure is needed?

29 Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 29 Research areas environment collaborationdesign education

30 Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 30 Research philosophy Practical… …with a theoretical basis… …and (ideally) educational benefits

31 Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 31 Other projects Topic location & software ecosystems Studying professional software designers Software design sketching

32 Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 32 SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu Department of Informatics, UC Irvine


Download ppt "Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Search and the Crowd: Next-Generation Software."

Similar presentations


Ads by Google