Download presentation
Presentation is loading. Please wait.
Published byNoreen Cox Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.