Job Search Survival Kit -- Part 28 -- The Linked "IN" Crowd --
Search and the Crowd: Next-Generation Software Tools
description
Transcript of Search and the Crowd: Next-Generation Software Tools
![Page 1: Search and the Crowd: Next-Generation Software Tools](https://reader036.fdocuments.net/reader036/viewer/2022062521/56816841550346895dde12ff/html5/thumbnails/1.jpg)
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 1
Search and the Crowd:Next-Generation Software Tools
André van der [email protected]
![Page 2: Search and the Crowd: Next-Generation Software Tools](https://reader036.fdocuments.net/reader036/viewer/2022062521/56816841550346895dde12ff/html5/thumbnails/2.jpg)
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 2
Long, long ago…
![Page 3: Search and the Crowd: Next-Generation Software Tools](https://reader036.fdocuments.net/reader036/viewer/2022062521/56816841550346895dde12ff/html5/thumbnails/3.jpg)
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 3
…and then…
![Page 4: Search and the Crowd: Next-Generation Software Tools](https://reader036.fdocuments.net/reader036/viewer/2022062521/56816841550346895dde12ff/html5/thumbnails/4.jpg)
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 4
…and then…
![Page 5: Search and the Crowd: Next-Generation Software Tools](https://reader036.fdocuments.net/reader036/viewer/2022062521/56816841550346895dde12ff/html5/thumbnails/5.jpg)
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 5
…and now…
![Page 6: Search and the Crowd: Next-Generation Software Tools](https://reader036.fdocuments.net/reader036/viewer/2022062521/56816841550346895dde12ff/html5/thumbnails/6.jpg)
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 6
…and now…
![Page 7: Search and the Crowd: Next-Generation Software Tools](https://reader036.fdocuments.net/reader036/viewer/2022062521/56816841550346895dde12ff/html5/thumbnails/7.jpg)
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 7
…but what about tomorrow?
![Page 8: Search and the Crowd: Next-Generation Software Tools](https://reader036.fdocuments.net/reader036/viewer/2022062521/56816841550346895dde12ff/html5/thumbnails/8.jpg)
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 8
Two projects
• Social-technical code search
• Crowdsourcing
![Page 9: Search and the Crowd: Next-Generation Software Tools](https://reader036.fdocuments.net/reader036/viewer/2022062521/56816841550346895dde12ff/html5/thumbnails/9.jpg)
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware 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
![Page 10: Search and the Crowd: Next-Generation Software Tools](https://reader036.fdocuments.net/reader036/viewer/2022062521/56816841550346895dde12ff/html5/thumbnails/10.jpg)
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware 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
![Page 11: Search and the Crowd: Next-Generation Software Tools](https://reader036.fdocuments.net/reader036/viewer/2022062521/56816841550346895dde12ff/html5/thumbnails/11.jpg)
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 11
Context
Information type Specific data elementStatic 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
![Page 12: Search and the Crowd: Next-Generation Software Tools](https://reader036.fdocuments.net/reader036/viewer/2022062521/56816841550346895dde12ff/html5/thumbnails/12.jpg)
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 12
Interface design #1
![Page 13: Search and the Crowd: Next-Generation Software Tools](https://reader036.fdocuments.net/reader036/viewer/2022062521/56816841550346895dde12ff/html5/thumbnails/13.jpg)
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 13
Interface design #2
![Page 14: Search and the Crowd: Next-Generation Software Tools](https://reader036.fdocuments.net/reader036/viewer/2022062521/56816841550346895dde12ff/html5/thumbnails/14.jpg)
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 14
CodeExchange prototype
![Page 15: Search and the Crowd: Next-Generation Software Tools](https://reader036.fdocuments.net/reader036/viewer/2022062521/56816841550346895dde12ff/html5/thumbnails/15.jpg)
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 15
CodeExchange prototype
![Page 16: Search and the Crowd: Next-Generation Software Tools](https://reader036.fdocuments.net/reader036/viewer/2022062521/56816841550346895dde12ff/html5/thumbnails/16.jpg)
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 16
Three projects
• Social-technical code search
• Crowdsourcing
![Page 17: Search and the Crowd: Next-Generation Software Tools](https://reader036.fdocuments.net/reader036/viewer/2022062521/56816841550346895dde12ff/html5/thumbnails/17.jpg)
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 17
Crowdsourcing: motivation 1
![Page 18: Search and the Crowd: Next-Generation Software Tools](https://reader036.fdocuments.net/reader036/viewer/2022062521/56816841550346895dde12ff/html5/thumbnails/18.jpg)
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 18
Crowdsourcing: motivation 2
• Microsoft, Facebook, Apple, Lockheed Martin, Department of Homeland Security, Los Alamos National Lab, …
![Page 19: Search and the Crowd: Next-Generation Software Tools](https://reader036.fdocuments.net/reader036/viewer/2022062521/56816841550346895dde12ff/html5/thumbnails/19.jpg)
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware 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?
![Page 20: Search and the Crowd: Next-Generation Software Tools](https://reader036.fdocuments.net/reader036/viewer/2022062521/56816841550346895dde12ff/html5/thumbnails/20.jpg)
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware 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
![Page 21: Search and the Crowd: Next-Generation Software Tools](https://reader036.fdocuments.net/reader036/viewer/2022062521/56816841550346895dde12ff/html5/thumbnails/21.jpg)
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 21
Crowdcode
![Page 22: Search and the Crowd: Next-Generation Software Tools](https://reader036.fdocuments.net/reader036/viewer/2022062521/56816841550346895dde12ff/html5/thumbnails/22.jpg)
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 22
Crowdcode
![Page 23: Search and the Crowd: Next-Generation Software Tools](https://reader036.fdocuments.net/reader036/viewer/2022062521/56816841550346895dde12ff/html5/thumbnails/23.jpg)
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 23
Crowdcode
![Page 24: Search and the Crowd: Next-Generation Software Tools](https://reader036.fdocuments.net/reader036/viewer/2022062521/56816841550346895dde12ff/html5/thumbnails/24.jpg)
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 24
Crowdcode
![Page 25: Search and the Crowd: Next-Generation Software Tools](https://reader036.fdocuments.net/reader036/viewer/2022062521/56816841550346895dde12ff/html5/thumbnails/25.jpg)
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 25
Crowdcode
![Page 26: Search and the Crowd: Next-Generation Software Tools](https://reader036.fdocuments.net/reader036/viewer/2022062521/56816841550346895dde12ff/html5/thumbnails/26.jpg)
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 26
Crowdcode
![Page 27: Search and the Crowd: Next-Generation Software Tools](https://reader036.fdocuments.net/reader036/viewer/2022062521/56816841550346895dde12ff/html5/thumbnails/27.jpg)
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 27
Crowdcode
![Page 28: Search and the Crowd: Next-Generation Software Tools](https://reader036.fdocuments.net/reader036/viewer/2022062521/56816841550346895dde12ff/html5/thumbnails/28.jpg)
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware 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?
![Page 29: Search and the Crowd: Next-Generation Software Tools](https://reader036.fdocuments.net/reader036/viewer/2022062521/56816841550346895dde12ff/html5/thumbnails/29.jpg)
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 29
Research areas
environment
collaboration design
education
![Page 30: Search and the Crowd: Next-Generation Software Tools](https://reader036.fdocuments.net/reader036/viewer/2022062521/56816841550346895dde12ff/html5/thumbnails/30.jpg)
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 30
Research philosophy
• Practical…
• …with a theoretical basis…
• …and (ideally) educational benefits
![Page 31: Search and the Crowd: Next-Generation Software Tools](https://reader036.fdocuments.net/reader036/viewer/2022062521/56816841550346895dde12ff/html5/thumbnails/31.jpg)
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 31
Other projects
• Topic location & software ecosystems
• Studying professional software designers
• Software design sketching
![Page 32: Search and the Crowd: Next-Generation Software Tools](https://reader036.fdocuments.net/reader036/viewer/2022062521/56816841550346895dde12ff/html5/thumbnails/32.jpg)
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 32
SDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu
Department of Informatics, UC Irvine