CrowdCode: A Platform for Crowd Development

Size: px
Start display at page:

Download "CrowdCode: A Platform for Crowd Development"

Transcription

1 CrowdCode: A Platform for Crowd Development Thomas D. LaToza 1, Eric Chiquillo 1, 2, W. Ben Towne 3, Christian M. Adriano 1, André van der Hoek 1 1 University of California, Irvine 2 Zynga 3 Carnegie Mellon University sdcl.ics.uci.edu

2 What if so:ware could be built by a crowd? Decomposing tasks (hours - days) into microtasks (seconds - to minutes) increases parallelism, reducing -me to market. Could 1,000,000 developers build a large applica?on in a day? task microtasks Lowering joining costs exploits the long tail of poten?al contributors. Could a developer join a project, and immediately contribute? 2

3 Could this work? Let s find out 3

4 Microtasking programming Workers work on a single func?on or test at a?me, decomposing tasks to implement a feature or fix a bug into many microtasks that can be done in parallel by the crowd. 4

5 Self- contained microtasks Microtasks are designed to provide self- contained, well- defined tasks, including all informa?on necessary, allowing transient workers to login and immediately begin work. 5

6 Automa-c task genera-on System tracks the state of each ar?fact, determine work to be done, generates microtasks. Func-on state machine Edit code Debug Debug described Write description described written Edit code Run tests described written buggy Edit code Edit code described written buggy Workers login to system and are automa-cally assigned a microtask. 6

7 Key simplifica-ons Work begins with a set of user stories (scenarios) specified by client which do not change. Each user story can be tested by a set of tests of a main() func?on. Func?ons are completely specified by their inputs and outputs. (e.g., a library) Func?ons do not mutate global state or interact with environment (e.g., write output). All bugs can be detected through unit tests. Programs are wriwen in a (basic subset of) Javascript (e.g., no callbacks). Programming tasks are to implement a feature, fix a bug, write tests. All design is done locally and itera?vely (e.g., through refactoring). Workers are mo-vated by pay or reputa?on and not malicious. ==> crowdsourcing the programming of func?onal Javascript libraries 7

8 Demo 8

9 Challenges crowdsourcing so:ware development How does the system generate microtasks? How can microtasks be done concurrently? 9

10 How does the system generate microtasks? Exis?ng approaches to crowdsourcing complex work rely on a fixed sequence of steps. e.g., map reduce approach So_ware development is dynamic, cannot enumerate tasks in advance Each ar?fact has aoributes describing its state. Submi`ng microtask may change a func?on s awributes, genera-ng microtasks. wriwen (no pseudocode) described (has a func?on descrip?on) buggy (fails test) Func-on state machine described Write description Edit code described written Edit code Debug Debug Run tests described written buggy Edit code If code changes, run tests, unless there s pseudocode. Edit code described written buggy 10

11 How can microtasks be done concurrently? So_ware development involves dependencies between ar?facts; as an ar?fact changes, others may also need to change. All ar?facts in the system may be changing concurrently. Only one microtask may be ac?ve per ar?fact, preven?ng merge conflicts. Events propagate changes (signature, tests) across dependencies. Microtasks may check out a readonly copy of global interfaces, but may only commit a change to a single ar?fact. Events received on an ar?fact queue microtasks to be done. Edit function e Edit function a [interface change] Debug function c Queued: Interface change Edit function f Debug function b [new test] Edit function d Queued: debug 11

12 Current status Ran a pilot study, crowdsourcing a small (~500 line?) checkers program Revealed bugs, usability issues, need for data structures. 12

13 Emergent design: aggrega-ng conflic-ng local views Mul?ple func?ons may call the same func?on. What happens when their expecta?ons conflict? ==> edit war, as func?ons repeatedly changed to conform to conflic?ng tests Aggrega?on through discussion threads, bringing in relevant ar?facts Func?on has a discussion thread visible to func?on, tests, callers. Workers are transient, so can t reference workers (e.g., they might leave). to reference ar?facts in discussion, microtask assigned to followup. work by Lucinda Lim 13

14 Conclusions Programming tasks can be decomposed into microtasks at a func-on granularity. Challenges involve ensuring microtasks are self- contained and can be done in parallel. Open ques?ons Decomposi?on at what granularity? Smaller - > more parallel, less entry barrier; larger - > less overhead How much context is necessary? How much background about the system is necessary? Tradeoffs between pulling informa?on (Q&A) vs. pushing (reviews) What s the role of design? Can so_ware be built en?rely modularly? Does this increase the duplica?on and conflicts within the system? 14

15 Ques-ons 15

16 Backup 16

17 17

18 18

19 19

20 20

21 21

22 22

23 Fixing a bug 23

CISC327 - So*ware Quality Assurance

CISC327 - So*ware Quality Assurance CISC327 - So*ware Quality Assurance Lecture 8 Introduc

More information

Crea?ng Cloud Apps with Oracle Applica?on Builder Cloud Service

Crea?ng Cloud Apps with Oracle Applica?on Builder Cloud Service Crea?ng Cloud Apps with Oracle Applica?on Builder Cloud Service Shay Shmeltzer Director of Product Management Oracle Development Tools and Frameworks @JDevShay hpp://blogs.oracle.com/shay This App you

More information

Best Practices and Pitfalls for Building Products out of OpenDaylight

Best Practices and Pitfalls for Building Products out of OpenDaylight Best Practices and Pitfalls for Building Products out of OpenDaylight Colin Dixon, TSC Chair, OpenDaylight Principal Software Engineer, Brocade Devin Avery, Sr Staff Software Engineer, Brocade Agenda Agenda

More information

SEDA An architecture for Well Condi6oned, scalable Internet Services

SEDA An architecture for Well Condi6oned, scalable Internet Services SEDA An architecture for Well Condi6oned, scalable Internet Services Ma= Welsh, David Culler, and Eric Brewer University of California, Berkeley Symposium on Operating Systems Principles (SOSP), October

More information

So#ware Engineering I. Based on materials by Ken Birman, Cornell

So#ware Engineering I. Based on materials by Ken Birman, Cornell So#ware Engineering I Based on materials by Ken Birman, Cornell 1 So#ware Engineering The art by which we start with a problem statement and gradually evolve a solu@on There are whole books on this topic

More information

Evaluating and Improving Software Usability

Evaluating and Improving Software Usability Evaluating and Improving Software Usability 902 : Thursday, 9:30am - 10:45am Philip Lew www.xbosoft.com Understand, Evaluate and Improve 2 Agenda Introduc7on Importance of usability What is usability?

More information

Tools zur Op+mierung eingebe2eter Mul+core- Systeme. Bernhard Bauer

Tools zur Op+mierung eingebe2eter Mul+core- Systeme. Bernhard Bauer Tools zur Op+mierung eingebe2eter Mul+core- Systeme Bernhard Bauer Agenda Mo+va+on So.ware Engineering & Mul5core Think Parallel Models Added Value Tooling Quo Vadis? The Mul5core Era Moore s Law: The

More information

What makes an applica/on a good applica/on? How is so'ware experienced by end- users? Chris7an Campo EclipseCon 2012

What makes an applica/on a good applica/on? How is so'ware experienced by end- users? Chris7an Campo EclipseCon 2012 What makes an applica/on a good applica/on? How is so'ware experienced by end- users? Chris7an Campo EclipseCon 2012 Who are we? Chris/an Campo How is so:ware experienced by end- users? What is Usability?

More information

Founda'ons of So,ware Engineering. Lecture 11 Intro to QA, Tes2ng Claire Le Goues

Founda'ons of So,ware Engineering. Lecture 11 Intro to QA, Tes2ng Claire Le Goues Founda'ons of So,ware Engineering Lecture 11 Intro to QA, Tes2ng Claire Le Goues 1 Learning goals Define so;ware analysis. Reason about QA ac2vi2es with respect to coverage and coverage/adequacy criteria,

More information

RaceMob: Crowdsourced Data Race Detec,on

RaceMob: Crowdsourced Data Race Detec,on RaceMob: Crowdsourced Data Race Detec,on Baris Kasikci, Cris,an Zamfir, and George Candea School of Computer & Communica3on Sciences Data Races to shared memory loca,on By mul3ple threads At least one

More information

CISC327 - So*ware Quality Assurance

CISC327 - So*ware Quality Assurance CISC327 - So*ware Quality Assurance Lecture 19 Regression Tes?ng CISC327-2003- 2017 J.R. Cordy, S. Grant, J.S. Bradbury, J. Dunfield Regression Tes?ng Today we look at regression tes?ng Purpose of regression

More information

Stream and Complex Event Processing Discovering Exis7ng Systems: esper

Stream and Complex Event Processing Discovering Exis7ng Systems: esper Stream and Complex Event Processing Discovering Exis7ng Systems: esper G. Cugola E. Della Valle A. Margara Politecnico di Milano gianpaolo.cugola@polimi.it emanuele.dellavalle@polimi.it Univ. della Svizzera

More information

LibraryTrac Updated October 12, 2014

LibraryTrac Updated October 12, 2014 LibraryTrac Updated October 12, 2014 LibraryTrac is an applica.on that allows school librarians/media specialists to keep track accurate sta$s$cs of the usage of their library/media center whether it be

More information

Configura)on Management Founda)ons. Leonardo Gresta Paulino Murta

Configura)on Management Founda)ons. Leonardo Gresta Paulino Murta Configura)on Management Founda)ons Leonardo Gresta Paulino Murta leomurta@ic.uff.br Configura)on Item Hardware or so@ware aggrega)on subject to configura)on management Examples: CM plan Requirement Engineering

More information

Virtualization. Introduction. Why we interested? 11/28/15. Virtualiza5on provide an abstract environment to run applica5ons.

Virtualization. Introduction. Why we interested? 11/28/15. Virtualiza5on provide an abstract environment to run applica5ons. Virtualization Yifu Rong Introduction Virtualiza5on provide an abstract environment to run applica5ons. Virtualiza5on technologies have a long trail in the history of computer science. Why we interested?

More information

Con$nuous Deployment with Docker Andrew Aslinger. Oct

Con$nuous Deployment with Docker Andrew Aslinger. Oct Con$nuous Deployment with Docker Andrew Aslinger Oct 9. 2014 Who is Andrew #1 So#ware / Systems Architect for OpenWhere Passion for UX, Big Data, and Cloud/DevOps Previously Designed and Implemented automated

More information

Practical C Programming

Practical C Programming Practical C Programming Advanced Preprocessor # - quotes a string ## - concatenates things #pragma h3p://gcc.gnu.org/onlinedocs/cpp/pragmas.html #warn #error Defined Constants Macro FILE LINE DATE TIME

More information

The FreeSearch System

The FreeSearch System Wolfgang Nejdl 03/05/12 1 The FreeSearch System Search engine for digital libraries Simple to use interface Intuitive functionalities Easily scalable Now with focus on Duplicate detection and duplicate

More information

Object Oriented Design (OOD): The Concept

Object Oriented Design (OOD): The Concept Object Oriented Design (OOD): The Concept Objec,ves To explain how a so8ware design may be represented as a set of interac;ng objects that manage their own state and opera;ons 1 Topics covered Object Oriented

More information

CSE Opera,ng System Principles

CSE Opera,ng System Principles CSE 30341 Opera,ng System Principles Lecture 5 Processes / Threads Recap Processes What is a process? What is in a process control bloc? Contrast stac, heap, data, text. What are process states? Which

More information

Tightly Integrated: Mike Cormier Bill Thackrey. Achieving Fast Time to Value with Splunk. Managing Directors Splunk Architects Concanon LLC

Tightly Integrated: Mike Cormier Bill Thackrey. Achieving Fast Time to Value with Splunk. Managing Directors Splunk Architects Concanon LLC Copyright 2014 Splunk Inc. Tightly Integrated: Achieving Fast Time to Value with Splunk Mike Cormier Bill Thackrey Managing Directors Splunk Cer@fied Architects Concanon LLC Disclaimer During the course

More information

NODE.JS SERVER SIDE JAVASCRIPT. Introduc)on Node.js

NODE.JS SERVER SIDE JAVASCRIPT. Introduc)on Node.js NODE.JS SERVER SIDE JAVASCRIPT Introduc)on Node.js Node.js was created by Ryan Dahl starting in 2009. For more information visit: http://www.nodejs.org 1 What about Node.js? 1. JavaScript used in client-side

More information

SQS, SWF, and SNS 7/24/17. References. Amazon Simple Queue Service(SQS)

SQS, SWF, and SNS 7/24/17. References. Amazon Simple Queue Service(SQS) SQS, SWF, and SNS Chapter 8 References All informa6on in this presenta6on was obtained from the following sources with all credit due to the listed authors: J. Baron, H. Baz, T. Bixler, B. Gaut, K. E.

More information

Transac.on Management. Transac.ons. CISC437/637, Lecture #16 Ben Cartere?e

Transac.on Management. Transac.ons. CISC437/637, Lecture #16 Ben Cartere?e Transac.on Management CISC437/637, Lecture #16 Ben Cartere?e Copyright Ben Cartere?e 1 Transac.ons A transac'on is a unit of program execu.on that accesses and possibly updates rela.ons The DBMS s view

More information

HIDDEN SLIDE Summary These slides are meant to be used as is to give an upper level view of perfsonar for an audience that is not familiar with the

HIDDEN SLIDE Summary These slides are meant to be used as is to give an upper level view of perfsonar for an audience that is not familiar with the HIDDEN SLIDE Summary These slides are meant to be used as is to give an upper level view of perfsonar for an audience that is not familiar with the concept. You *ARE* allowed to delete things you don t

More information

Con$nuous Integra$on Development Environment. Kovács Gábor

Con$nuous Integra$on Development Environment. Kovács Gábor Con$nuous Integra$on Development Environment Kovács Gábor kovacsg@tmit.bme.hu Before we start anything Select a language Set up conven$ons Select development tools Set up development environment Set up

More information

Stream and Complex Event Processing Discovering Exis7ng Systems:c- sparql

Stream and Complex Event Processing Discovering Exis7ng Systems:c- sparql Stream and Complex Event Processing Discovering Exis7ng Systems:c- sparql G. Cugola E. Della Valle A. Margara Politecnico di Milano cugola@elet.polimi.it dellavalle@elet.polimi.it Vrije Universiteit Amsterdam

More information

A Pattern-supported Parallelization Approach

A Pattern-supported Parallelization Approach A Pattern-supported Parallelization Approach Ralf Jahr, Mike Gerdes, Theo Ungerer University of Augsburg, Germany The 2013 International Workshop on Programming Models and Applications for Multicores and

More information

CS 188: Ar)ficial Intelligence

CS 188: Ar)ficial Intelligence CS 188: Ar)ficial Intelligence Search Instructors: Pieter Abbeel & Anca Dragan University of California, Berkeley [These slides were created by Dan Klein and Pieter Abbeel for CS188 Intro to AI at UC Berkeley

More information

Design Principles & Prac4ces

Design Principles & Prac4ces Design Principles & Prac4ces Robert France Robert B. France 1 Understanding complexity Accidental versus Essen4al complexity Essen%al complexity: Complexity that is inherent in the problem or the solu4on

More information

CERT Secure Coding Standards Robert C. Seacord Carnegie Mellon University

CERT Secure Coding Standards Robert C. Seacord Carnegie Mellon University CERT Secure Coding Standards Robert C. Seacord 2006 Carnegie Mellon University Problem Statement 6,000 5,000 Reacting to vulnerabilities in existing systems is not working 5,990 4,000 Total vulnerabilities

More information

There is a tempta7on to say it is really used, it must be good

There is a tempta7on to say it is really used, it must be good Notes from reviews Dynamo Evalua7on doesn t cover all design goals (e.g. incremental scalability, heterogeneity) Is it research? Complexity? How general? Dynamo Mo7va7on Normal database not the right fit

More information

IMPROVING PROGRAMS THROUGH SOURCE CODE TRANSFORMATIONS. Disserta(on Proposal Jonathan Dorn April 19, 2016

IMPROVING PROGRAMS THROUGH SOURCE CODE TRANSFORMATIONS. Disserta(on Proposal Jonathan Dorn April 19, 2016 IMPROVING PROGRAMS THROUGH SOURCE CODE TRANSFORMATIONS Disserta(on Proposal Jonathan Dorn April 19, 2016 2 Beyond Functional Correctness So9ware development involves tradeoffs. Fast, good, or cheap. Pick

More information

Faster Splunk App Cer=fica=on with Splunk AppInspect

Faster Splunk App Cer=fica=on with Splunk AppInspect Copyright 2016 Splunk Inc. Faster Splunk App Cer=fica=on with Splunk AppInspect Andy Nortrup Product Manager, Splunk Grigori Melnik Director, Product Management, Splunk Disclaimer During the course of this

More information

RTP Taxonomy & Rela.onships

RTP Taxonomy & Rela.onships RTP Taxonomy & Rela.onships dra%- lennox- raiarea- rtp- grouping- taxonomy- 03 IETF 88 @Authors 1 Changes Since - 02 Major re- write Sec.on 2, Concepts, re- structured to a conceptual media chain with

More information

Chapter 7 Consistency And Replication

Chapter 7 Consistency And Replication DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 7 Consistency And Replication Data-centric Consistency Models Figure 7-1. The general organization

More information

Performance Evaluation of a MongoDB and Hadoop Platform for Scientific Data Analysis

Performance Evaluation of a MongoDB and Hadoop Platform for Scientific Data Analysis Performance Evaluation of a MongoDB and Hadoop Platform for Scientific Data Analysis Elif Dede, Madhusudhan Govindaraju Lavanya Ramakrishnan, Dan Gunter, Shane Canon Department of Computer Science, Binghamton

More information

Objec&ves. Servlets Review JSPs Web Applica&on Organiza&on Version Control. May 3, 2016 Sprenkle - CS335 1

Objec&ves. Servlets Review JSPs Web Applica&on Organiza&on Version Control. May 3, 2016 Sprenkle - CS335 1 Objec&ves Servlets Review JSPs Web Applica&on Organiza&on Version Control May 3, 2016 Sprenkle - CS335 1 Servlets Review How do we access a servlet s init parameter? Why do we use init parameters? Where

More information

Best Prac:ces + New Feature Overview for the Latest Version of Splunk Deployment Server

Best Prac:ces + New Feature Overview for the Latest Version of Splunk Deployment Server Copyright 2013 Splunk Inc. Best Prac:ces + New Feature Overview for the Latest Version of Splunk Deployment Server Gen: Zaimi Professional Services #splunkconf Legal No:ces During the course of this presenta:on,

More information

F.P. Brooks, No Silver Bullet: Essence and Accidents of Software Engineering CIS 422

F.P. Brooks, No Silver Bullet: Essence and Accidents of Software Engineering CIS 422 The hardest single part of building a software system is deciding precisely what to build. No other part of the conceptual work is as difficult as establishing the detailed technical requirements...no

More information

hashfs Applying Hashing to Op2mize File Systems for Small File Reads

hashfs Applying Hashing to Op2mize File Systems for Small File Reads hashfs Applying Hashing to Op2mize File Systems for Small File Reads Paul Lensing, Dirk Meister, André Brinkmann Paderborn Center for Parallel Compu2ng University of Paderborn Mo2va2on and Problem Design

More information

CS 315 Intro to Human Computer Interac4on (HCI)

CS 315 Intro to Human Computer Interac4on (HCI) 1 CS 315 Intro to Human Computer Interac4on (HCI) 2 HCI So what is it? 3 4 Hall of Fame or Shame? Page setup in IE5 (example courtesy of James Landay) 5 Hall of Shame! Page setup in IE5 Page preview nice,

More information

MULTI-THREADED QUERIES

MULTI-THREADED QUERIES 15-721 Project 3 Final Presentation MULTI-THREADED QUERIES Wendong Li (wendongl) Lu Zhang (lzhang3) Rui Wang (ruiw1) Project Objective Intra-operator parallelism Use multiple threads in a single executor

More information

Git, The Developers Perspec ve

Git, The Developers Perspec ve Git, The Developers Perspec ve What is Git? A command line tool wri en by Linus Torvalds for Linux Kernel collabora on to replace a proprietary Distributed Version Control System called Bit Keeper Originally

More information

Understanding and Genera-ng High Quality Patches for Concurrency Bugs. Haopeng Liu, Yuxi Chen and Shan Lu

Understanding and Genera-ng High Quality Patches for Concurrency Bugs. Haopeng Liu, Yuxi Chen and Shan Lu 1 Understanding and Genera-ng High Quality Patches for Concurrency Bugs Haopeng Liu, Yuxi Chen and Shan Lu 2 What are concurrency bugs Synchroniza-on mistakes in mul--threaded programs 3 What are concurrency

More information

Next hop in rou-ng Summary of Future Internet WP1 work. Hannu Flinck

Next hop in rou-ng Summary of Future Internet WP1 work. Hannu Flinck Next hop in rou-ng Summary of Future Internet WP1 work Hannu Flinck Original focus on Rou-ng Scalability Mo$va$on: Internet Architecture Board stated (in RFC 4984): rou-ng scalability is the most important

More information

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 7 Consistency And Replication

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 7 Consistency And Replication DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 7 Consistency And Replication Reasons for Replication Data are replicated to increase the reliability

More information

CPS 110 Final Exam. Spring 2011

CPS 110 Final Exam. Spring 2011 CPS 110 Final Exam Spring 2011 Please answer all questions for a total of 300 points. Keep it clear and concise: answers are graded on content, not style. I expect that you can answer each question within

More information

Chunking: An Empirical Evalua3on of So7ware Architecture (?)

Chunking: An Empirical Evalua3on of So7ware Architecture (?) Chunking: An Empirical Evalua3on of So7ware Architecture (?) Rachana Koneru David M. Weiss Iowa State University weiss@iastate.edu rachana.koneru@gmail.com With participation by Audris Mockus, Jeff St.

More information

z Systems Sandbox in the cloud A New Way to Learn

z Systems Sandbox in the cloud A New Way to Learn z Systems Sandbox in the cloud A New Way to Learn Mike Fulton IBM Dis@nguished Engineer Master Inventor fultonm@ca.ibm.com Why z Systems are Amazing 92 10 Continued aggressive investment/ innovation out

More information

UC Irvine UC Irvine Previously Published Works

UC Irvine UC Irvine Previously Published Works UC Irvine UC Irvine Previously Published Works Title Differencing and merging within an evolving product line architecture Permalink https://escholarship.org/uc/item/0k73r951 Authors Chen, Ping H Critchlow,

More information

JS Event Loop, Promises, Async Await etc. Slava Kim

JS Event Loop, Promises, Async Await etc. Slava Kim JS Event Loop, Promises, Async Await etc Slava Kim Synchronous Happens consecutively, one after another Asynchronous Happens later at some point in time Parallelism vs Concurrency What are those????

More information

The Kernel Abstrac/on

The Kernel Abstrac/on The Kernel Abstrac/on Debugging as Engineering Much of your /me in this course will be spent debugging In industry, 50% of sobware dev is debugging Even more for kernel development How do you reduce /me

More information

ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective

ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective Part II: Data Center Software Architecture: Topic 3: Programming Models Piccolo: Building Fast, Distributed Programs

More information

Clinical Metadata A complete metadata and project management solu6on. October 2017 Andrew Ndikom and Liang Wang

Clinical Metadata A complete metadata and project management solu6on. October 2017 Andrew Ndikom and Liang Wang A complete metadata and project management solu6on. October 2017 Andrew Ndikom and Liang Wang 1 Agenda How is metadata currently managed within the industry? Five key problems with current approaches.

More information

CUDA Development Using NVIDIA Nsight, Eclipse Edition. David Goodwin

CUDA Development Using NVIDIA Nsight, Eclipse Edition. David Goodwin CUDA Development Using NVIDIA Nsight, Eclipse Edition David Goodwin NVIDIA Nsight Eclipse Edition CUDA Integrated Development Environment Project Management Edit Build Debug Profile SC'12 2 Powered By

More information

Version control CSE 403

Version control CSE 403 Version control CSE 403 Goals of a version control system Keep a history of your work Explain the purpose of each change Checkpoint specific versions (known good state) Recover specific state (fix bugs,

More information

Open Data Kit. A set of open source tools to help organiza3ons collect, aggregate and visualize their rich data.

Open Data Kit. A set of open source tools to help organiza3ons collect, aggregate and visualize their rich data. Open Data Kit h8p://code.google.com/p/open- data- kit A set of open source tools to help organiza3ons collect, aggregate and visualize their rich data. Organiza.ons in developing regions inefficiently

More information

Enterprise Architecture CS 4720 Web & Mobile Systems

Enterprise Architecture CS 4720 Web & Mobile Systems Enterprise Architecture Web & Mobile Systems The Concept of a Web Service Each service is built around a func=on/feature That func=on is surrounded by a specified set of protocols (SOAP, POX, WSDL, WSD,

More information

Conges'on. Last Week: Discovery and Rou'ng. Today: Conges'on Control. Distributed Resource Sharing. Conges'on Collapse. Conges'on

Conges'on. Last Week: Discovery and Rou'ng. Today: Conges'on Control. Distributed Resource Sharing. Conges'on Collapse. Conges'on Last Week: Discovery and Rou'ng Provides end-to-end connectivity, but not necessarily good performance Conges'on logical link name Michael Freedman COS 461: Computer Networks Lectures: MW 10-10:50am in

More information

CSE 473: Ar+ficial Intelligence

CSE 473: Ar+ficial Intelligence CSE 473: Ar+ficial Intelligence Search Instructor: Luke Ze=lemoyer University of Washington [These slides were adapted from Dan Klein and Pieter Abbeel for CS188 Intro to AI at UC Berkeley. All CS188 materials

More information

Slides on cross- domain call and Remote Procedure Call (RPC)

Slides on cross- domain call and Remote Procedure Call (RPC) Slides on cross- domain call and Remote Procedure Call (RPC) This classic paper is a good example of a microbenchmarking study. It also explains the RPC abstraction and serves as a case study of the nuts-and-bolts

More information

Core Technology Development Team Meeting

Core Technology Development Team Meeting Core Technology Development Team Meeting To hear the meeting, you must call in Toll-free phone number: 1-866-740-1260 Access Code: 2201876 For international call in numbers, please visit: https://www.readytalk.com/account-administration/international-numbers

More information

Homework 1. Automa-c Test Genera-on. Automated Test Genera-on Idea: The Problem. Pre- & Post- Condi-ons 2/8/17. Due Thursday (Feb 16, 9 AM)

Homework 1. Automa-c Test Genera-on. Automated Test Genera-on Idea: The Problem. Pre- & Post- Condi-ons 2/8/17. Due Thursday (Feb 16, 9 AM) Homework 1 Due Thursday (Feb 16, 9 AM) Automa-c Test Genera-on Ques-ons? Automated Test Genera-on Idea: Automa-cally generate tests for sokware Why? Find bugs more quickly Conserve resources No need to

More information

Digital Learning at MBBC: Setting up Parental Restrictions

Digital Learning at MBBC: Setting up Parental Restrictions Digital Learning at MBBC: Setting up Parental Restrictions Page 1 Parental Restric-ons Using an ipad, iphone, or ipod touch can provide your student with access to a wealth of informa9on. However, at 9mes

More information

Riso Comcolor Series

Riso Comcolor Series Riso Comcolor Series Ge ng Started Guide No. 1 Ini al Setup Administrator Func ons Administrator Setup Default Se ngs User Names and Passwords Setup IC Card Control System Configura on Riso (UK) Limited

More information

Network Virtualiza/on Overlay Control Protocol Requirements

Network Virtualiza/on Overlay Control Protocol Requirements Network iza/on Overlay Control Protocol Requirements dra

More information

Online Remote Repositories

Online Remote Repositories Online Remote Repositories GitHub and Bitbucket centralized Git repositories for dissemination and collaboration Barry Grant bjgrant@umich.edu http://thegrantlab.org Recap: Client-Server vs Distributed

More information

Habanero-Java Library: a Java 8 Framework for Multicore Programming

Habanero-Java Library: a Java 8 Framework for Multicore Programming Habanero-Java Library: a Java 8 Framework for Multicore Programming PPPJ 2014 September 25, 2014 Shams Imam, Vivek Sarkar shams@rice.edu, vsarkar@rice.edu Rice University https://wiki.rice.edu/confluence/display/parprog/hj+library

More information

AdDroid Privilege Separa,on for Applica,ons and Adver,sers in Android

AdDroid Privilege Separa,on for Applica,ons and Adver,sers in Android AdDroid Privilege Separa,on for Applica,ons and Adver,sers in Android Paul Pearce 1, Adrienne Porter Felt 1, Gabriel Nunez 2, David Wagner 1 1 University of California, Berkeley 2 Sandia Na,onal Laboratory

More information

Tradeoff Evaluation. Comparison between CB-R and CB-A as they only differ for this aspect.

Tradeoff Evaluation. Comparison between CB-R and CB-A as they only differ for this aspect. Tradeoff Evaluation Comparison between C2PL and CB-A, as both: Allow intertransaction caching Don t use propagation Synchronously activate consistency actions Tradeoff Evaluation Comparison between CB-R

More information

Improving the Practicality of Transactional Memory

Improving the Practicality of Transactional Memory Improving the Practicality of Transactional Memory Woongki Baek Electrical Engineering Stanford University Programming Multiprocessors Multiprocessor systems are now everywhere From embedded to datacenter

More information

Component diagrams. Components Components are model elements that represent independent, interchangeable parts of a system.

Component diagrams. Components Components are model elements that represent independent, interchangeable parts of a system. Component diagrams Components Components are model elements that represent independent, interchangeable parts of a system. Components are more abstract than classes and can be considered to be stand- alone

More information

LwDITA Lightweight DITA

LwDITA Lightweight DITA LwDITA Lightweight DITA October 31st 2016, 12:16 pm EDT Q2 - The Lightweight DITA sub-commi ee from the Organiza%on for the Advancement of Structured Informa%on Standards (OASIS) wants to know more about

More information

L7: Tes(ng. Smoke tes(ng. The test- vee Black- box vs. white- box tes(ng Tes(ng methods. Four levels of tes(ng. Case study

L7: Tes(ng. Smoke tes(ng. The test- vee Black- box vs. white- box tes(ng Tes(ng methods. Four levels of tes(ng. Case study Smoke tes(ng L7: Tes(ng The test- vee Black- box vs. white- box tes(ng Tes(ng methods Matrix test Step- by- step test Automated test scripts Four levels of tes(ng Debugging Unit tes?ng Integra?on tes?ng

More information

Build Your Own ASP.NET 4 Website Using C# & VB. Chapter 1: Introducing ASP.NET and the.net Pla;orm

Build Your Own ASP.NET 4 Website Using C# & VB. Chapter 1: Introducing ASP.NET and the.net Pla;orm Build Your Own ASP.NET 4 Website Using C# & VB Chapter 1: Introducing ASP.NET and the.net Pla;orm Outlines IntroducIon What is ASP.NET? Advantages of ASP.NET Installing the Required SoOware WriIng your

More information

Policy-preserving Middlebox Placement in SDN-Enabled Data Centers

Policy-preserving Middlebox Placement in SDN-Enabled Data Centers Policy-preserving Middlebox Placement in SDN-Enabled Data Centers Bin Tang Computer Science Department California State University Dominguez Hills Some slides are from www.cs.berkeley.edu/~randy/courses/cs268.f08/lectures/22-

More information

Understanding the Interleaving Space Overlap across Inputs and So7ware Versions

Understanding the Interleaving Space Overlap across Inputs and So7ware Versions Understanding the Interleaving Space Overlap across Inputs and So7ware Versions Dongdong Deng, Wei Zhang, Borui Wang, Peisen Zhao, Shan Lu University of Wisconsin, Madison 1 Concurrency bug detec3on is

More information

A- SAS : An Adap*ve High- Availability Scheme for Distributed Stream Processing Systems

A- SAS : An Adap*ve High- Availability Scheme for Distributed Stream Processing Systems A- SAS : An Adap*ve High- Availability Scheme for Distributed Stream Processing Systems Hiroaki SHIOKAWA (University of Tsukuba, Japan) Hiroyuki KITAGAWA (University of Tsukuba, Japan) Hideyuki KAWASHIMA

More information

Distributed Hash Tables

Distributed Hash Tables Distributed Hash Tables What is a DHT? Hash Table data structure that maps keys to values essen=al building block in so?ware systems Distributed Hash Table (DHT) similar, but spread across many hosts Interface

More information

CISC So*ware Quality Assurance

CISC So*ware Quality Assurance CISC 327 - So*ware Quality Assurance Lecture 29b Web Applica>on Security CISC327-2003 2017 J.R. Cordy, S. Grant, J.S. Bradbury, J. Dunfield Outline Web Applica>on Security SQL Injec>on Parameter Manipula>on

More information

JiST Java in Simulation Time An efficient, unifying approach to simulation using virtual machines

JiST Java in Simulation Time An efficient, unifying approach to simulation using virtual machines JiST Java in Simulation Time An efficient, unifying approach to simulation using virtual machines Rimon Barr, Zygmunt Haas, Robbert van Renesse rimon@acm.org haas@ece.cornell.edu rvr@cs.cornell.edu. Cornell

More information

Best Prac*ces in Accessibility and Universal Design for Learning. Rozy Parlette, Instruc*onal Designer Center for Instruc*on and Research Technology

Best Prac*ces in Accessibility and Universal Design for Learning. Rozy Parlette, Instruc*onal Designer Center for Instruc*on and Research Technology Best Prac*ces in Accessibility and Universal Design for Learning Rozy Parlette, Instruc*onal Designer Center for Instruc*on and Research Technology Purpose The purpose of this session is to iden*fy best

More information

CS 390 Software Engineering Lecture 5 More Git

CS 390 Software Engineering Lecture 5 More Git CS 390 Software Engineering Lecture 5 More Git Reference: Scott Chacon and Ben Straub, Pro Git, published by Apress, available at https://git-scm.com/book/en/v2. Outline Finish local repository Remote

More information

Heterogeneous compute in the GATK

Heterogeneous compute in the GATK Heterogeneous compute in the GATK Mauricio Carneiro GSA Broad Ins

More information

HOW TO EFFECTIVELY DEAL WITH HARDCODING AND CDISC CONTROLLED TERMINOLOGY IN CLINICAL STUDIES

HOW TO EFFECTIVELY DEAL WITH HARDCODING AND CDISC CONTROLLED TERMINOLOGY IN CLINICAL STUDIES HOW TO EFFECTIVELY DEAL WITH HARDCODING AND CDISC CONTROLLED TERMINOLOGY IN CLINICAL STUDIES Paper DH11 Lennert van der Zee, OCS Consul+ng, Netherlands www.ocs-consul+ng.com/nl 1 AGENDA! Background! Undesirable

More information

represen/ng the world in 1s and 0s CS 4100/5100 Founda/ons of AI

represen/ng the world in 1s and 0s CS 4100/5100 Founda/ons of AI represen/ng the world in 1s and 0s CS 4100/5100 Founda/ons of AI Announcements Assignment 2 clarifica/ons Final projects: what s next? Feedback Project Proposal Midterm Exam: October 18th ASP CLARIFICATIONS

More information

Threat modeling. Tuomas Aura T Informa1on security technology. Aalto University, autumn 2012

Threat modeling. Tuomas Aura T Informa1on security technology. Aalto University, autumn 2012 Threat modeling Tuomas Aura T- 110.4206 Informa1on security technology Aalto University, autumn 2012 Threats Threat = something bad that can happen Given an system or product Assets: what is there to protect?

More information

INFO/CS 4302 Web Informa6on Systems

INFO/CS 4302 Web Informa6on Systems INFO/CS 4302 Web Informa6on Systems FT 2012 Week 7: RESTful Webservice APIs - Bernhard Haslhofer - 2 3 4 Source: hmp://www.blogperfume.com/new- 27- circular- social- media- icons- in- 3- sizes/ 5 Plan

More information

Modular arithme.c and cryptography

Modular arithme.c and cryptography Modular arithme.c and cryptography CSC 1300 Discrete Structures Villanova University Public Key Cryptography (Slides 11-32) by Dr. Lillian Cassel, Villanova University Villanova CSC 1300 - Dr Papalaskari

More information

Information Needs in Programming. Thomas LaToza

Information Needs in Programming. Thomas LaToza Information Needs in Programming Thomas LaToza A few minutes in the life of a developer 2 3 4 What percentage of the last week have you spent LaToza, Venolia, and DeLine. Maintaining Mental Models: A Study

More information

Cross pla)orm app development using open source so4ware. Peter Dickten / Marcus Ross dcs-fuerth / zahlenhelfer

Cross pla)orm app development using open source so4ware. Peter Dickten / Marcus Ross dcs-fuerth / zahlenhelfer Cross pla)orm app development using open source so4ware Peter Dickten / Marcus Ross dcs-fuerth / zahlenhelfer Cross pla)orm app development Support for mul3ple pla)orms is essen3al for both enterprise

More information

What is Search For? CS 188: Ar)ficial Intelligence. Constraint Sa)sfac)on Problems Sep 14, 2015

What is Search For? CS 188: Ar)ficial Intelligence. Constraint Sa)sfac)on Problems Sep 14, 2015 CS 188: Ar)ficial Intelligence Constraint Sa)sfac)on Problems Sep 14, 2015 What is Search For? Assump)ons about the world: a single agent, determinis)c ac)ons, fully observed state, discrete state space

More information

Simplified Computa/on and Generaliza/on of the Refined Process Structure Tree

Simplified Computa/on and Generaliza/on of the Refined Process Structure Tree The 7 th Interna/onal Workshop on Web Services and Formal Methods (WS- FM 2010) Simplified Computa/on and Generaliza/on of the Refined Process Structure Tree Artem Polyvyanyy, Jussi Vanhatalo, and Hagen

More information

Analysing OpenMP Programs Inspector XE and Amplifier XE

Analysing OpenMP Programs Inspector XE and Amplifier XE Analysing OpenMP Programs Inspector XE and Amplifier XE Berk ONAT İTÜ Bilişim Enstitüsü 22 Haziran 2012 Outline OpenMP Overhead Tools for analyzing OpenMP programs Print statement (Conven@onal way!) Intel

More information

Experiences Implemen.ng Usable MPC For Social Good

Experiences Implemen.ng Usable MPC For Social Good Experiences Implemen.ng Usable MPC For Social Good Mayank Varia Hariri Ins.tute, Boston University Based on joint work with BU: Azer Bestavros, Eric Dunton, Frederick Jansen, Kyle Holzinger, Andrei Lapets,

More information

Outline. In Situ Data Triage and Visualiza8on

Outline. In Situ Data Triage and Visualiza8on In Situ Data Triage and Visualiza8on Kwan- Liu Ma University of California at Davis Outline In situ data triage and visualiza8on: Issues and strategies Case study: An earthquake simula8on Case study: A

More information

Swift 5, ABI Stability and

Swift 5, ABI Stability and Swift 5, ABI Stability and Concurrency @phillfarrugia Important Documents Concurrency Manifesto by Chris Lattner https: /gist.github.com/lattner/ 31ed37682ef1576b16bca1432ea9f782 Kicking off Concurrency

More information