Assieme A SSIEME – A Recommender System for Emacs Extensions Raphael Hoffmann CSE574, WIN06 1/13/2015 University of Washington.

Slides:



Advertisements
Similar presentations
Assieme: Finding and Leveraging Implicit References in a Web Search Interface for Programmers I am Raphael Hoffmann and this is joint work with James Fogarty.
Advertisements

Web 2.0 Programming 1 © Tongji University, Computer Science and Technology. Web Web Programming Technology 2012.
Final Project Instructor: Nguyen Anh Tu Students: Tran Tien Tai Tran Tien Tai Tran Ngoc Mai Tran Ngoc Mai Tu Kim Tuan Tu Kim Tuan Nguyen Ngoc Phuong Nguyen.
Copyright © 2003 Pearson Education, Inc. Slide 8-1 Created by Cheryl M. Hughes, Harvard University Extension School Cambridge, MA The Web Wizards Guide.
Fatma Y. ELDRESI Fatma Y. ELDRESI ( MPhil ) Systems Analysis / Programming Specialist, AGOCO Part time lecturer in University of Garyounis,
17 Copyright © 2005, Oracle. All rights reserved. Deploying Applications by Using Java Web Start.
The Internet and the Web
©2011 Quest Software, Inc. All rights reserved.. Andrei Polevoi, Tatiana Golubovich Program Management Group ActiveRoles Add-on Manager Overview.
Overview Environment for Internet database connectivity
Facts about Welcome to this video from Ozeki. In this video I will present what makes Ozeki Phone System XE the Worlds best on-site software PBX for Windows.
Information Systems Today: Managing in the Digital World
© 2005 Avaya Inc. All rights reserved. A Client-Side Architecture for Supporting Pervasive Enterprise Communications Amogh Kavimandan, Reinhard Klemm,
1 A Test Automation Tool For Java Applets Testing of Web Applications TATJA Program Demonstration Conclusions By Matthew Xuereb.
The Web Service Browser Automatic Client Generation and Efficient Data Transfer for Web Services Steffen Heinzl, Markus Mathes, Thilo Stadelmann, Dominik.
Site Collection, Sites and Sub-sites
1 Web-Enabled Decision Support Systems Access Introduction: Touring Access Prof. Name Position (123) University Name.
Natural Business Services for Construct Users Mark Barnard R&D Manager – Natural Business Services.
XP New Perspectives on Introducing Microsoft Office 2003 Tutorial 1 1 Using Common Features of Microsoft Office 2003 Tutorial 1.
Microsoft Office Illustrated Fundamentals Unit C: Getting Started with Unit C: Getting Started with Microsoft Office 2010 Microsoft Office 2010.
25 July, 2014 Hailiang Mei, TU/e Computer Science, System Architecture and Networking 1 Hailiang Mei Remote Terminal Management.
Chapter 1 Introduction to Visual Basic Programming and Applications 1 Exploring Microsoft Visual Basic 6.0 Copyright © 1999 Prentice-Hall, Inc. By Carlotta.
Executional Architecture
® Microsoft Office 2010 Browser and Basics.
Visions of Australia – Regional Exhibition Touring Fund Applicant organisation Exhibition title Exhibition Sample Support Material Instructions 1) Please.
Multi-Model Digital Video Library Professor: Michael Lyu Member: Jacky Ma Joan Chung Multi-Model Digital Video Library LYU9904 Multi-Model Digital Video.
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
15 Chapter 15 Web Database Development Database Systems: Design, Implementation, and Management, Fifth Edition, Rob and Coronel.
Introduction to ASP.NET. 2 © UW Business School, University of Washington 2004 Outline Static vs. Dynamic Web Pages.NET Framework Installing ASP.NET First.
Mgt 240 Lecture Website Construction: Software and Language Alternatives March 29, 2005.
1 Software Reuse in Eclipse Kellie-Ann Smith Norgye Yuanyuan Song Xiang Yin Jia Xu.
Part or all of this lesson was adapted from the University of Washington’s “Web Design & Development I” Course materials.
SIEVE—Search Images Effectively through Visual Elimination Ying Liu, Dengsheng Zhang and Guojun Lu Gippsland School of Info Tech,
Secure Search Engine Ivan Zhou Xinyi Dong. Project Overview  The Secure Search Engine project is a search engine that utilizes special modules to test.
INTRODUCTION TO WEB DATABASE PROGRAMMING
A Scalable Application Architecture for composing News Portals on the Internet Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta Famagusta.
1 Modular Software/ Component Software 2 Modular Software Code developed in modules. Modules can then be linked together to produce finished product/program.
Week 7 Lecture Web Database Development Samuel Conn, Asst. Professor
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
Robot Framework – Basic Level. Date: Version:1.0 Page 1.
Duke University Program Design & Construction Course Application Development Tools Sherry Shavor
Wikis are websites where pages can be edited using an online document editor. Users can easily edit and share content. Enterprise wikis are platforms.
Ali Shahrokni Application Components Activities Services Content providers Broadcast receivers.
Using Visual Basic 6.0 to Create Web-Based Database Applications
Fundamentals of Database Chapter 7 Database Technologies.
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
Markup and Validation Agents in Vijjana – A Pragmatic model for Self- Organizing, Collaborative, Domain- Centric Knowledge Networks S. Devalapalli, R.
Web Automation Testing With Selenium By Rajesh Kanade.
CERN-PH-SFT-SPI August Ernesto Rivera Contents Context Automation Results To Do…
Search Engine Marketing SEM = Search Engine Marketing SEO = Search Engine Optimization optimizing (altering/changing) your page in order to get a higher.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
Google Refine for Data Quality / Integrity. Context BioVeL Data Refinement Workflow Synonym Expansion / Occurrence Retrieval Data Selection Data Quality.
ASP (Active Server Pages) by Bülent & Resul. Presentation Outline Introduction What is an ASP file? How does ASP work? What can ASP do? Differences Between.
CD Collection Hector Urtubia Fall Summary Motivation and Objective Technologies Used Project Design Database Design and Integration Demo.
Data Science Background and Course Software setup Week 1.
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
Endnote X1 & Hawaii Voyager Hawaii Voyager Users Meeting University of Hawaii at Manoa Library May 23, 2008.
BIF713 Operating System Concepts MS Windows. Agenda 1. What is an Operating System (definition)? 2. Types of Operating Systems 3. Basic Operations: –
The World Wide Web. What is the worldwide web? The content of the worldwide web is held on individual pages which are gathered together to form websites.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
Presented By:. What is JavaHelp: Most software developers do not look forward to spending time documenting and explaining their product. JavaSoft has.
David M. Kroenke and David J. Auer Database Processing Fundamentals, Design, and Implementation Appendix I: Getting Started with Web Servers, PHP and the.
2014 Semantic-based Code and Documentation Search Engine Reshma Thumma Oct 10,2014 #GHC
Operating System Concepts
TE004 Smart Change Management with Sage CRM Component Manager
The Improvement of PaaS Platform ZENG Shu-Qing, Xu Jie-Bin 2010 First International Conference on Networking and Distributed Computing SQUARE.
Business in a Connected World
Cloud Web Filtering Platform
Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta
Microsoft Office Illustrated Fundamentals
Lesson 2: Gathering and Organizing Information Using ICT KEY QUESTION: HOW DO YOU GATHER AND ORGANIZE INFORMATION USING THE COMPUTER AND INTERNET?
Presentation transcript:

Assieme A SSIEME – A Recommender System for Emacs Extensions Raphael Hoffmann CSE574, WIN06 1/13/2015 University of Washington

Assieme Outline Motivation Related Work Demo Architecture Recommendation Algorithm (Privacy) (Data Collection) (Future Work) Conclusion

Assieme Motivation Users do not customize [Peres05, Lane05, Bhavnani00, Kay96, Oppermann94, Mackay91, Carroll87, Nielsen86, Grudin85, Rosson83, Card80] Users don’t know about customizations [Wulf01, Nilsen93] Users share customizations! [Won04, Wulf01, Gantt92, Mackay92, MacLean90] Can we support the sharing of customizations? Who is using more than 3 Emacs or Firefox extensions?

Assieme Related Work Systems for Software Users [Kahler01], [Ohsugi02] Systems for Software Developers agile software development [McCarey05] promote reuse [Ye02/05], [Varadarajan02], [Klein01], [Graedke99],... increase quality by making code consistent [Cubranic05] integrate information sources (e.g. news, CVS) [Cubranic03/04/05]

Assieme Demo

Architecture report events (SOAP send recommendation ) Client Assieme Emacs Extension 3 rd party Emacs Extension install record events recommend run Database Assieme Web Service storeretrieve use Server Emacs Collaborative Filtering Alg. Content-bsd. Filtering Alg. written in Lisp written in Java

Assieme Architecture - Client Feature Detectors Emacs command stream file type typed keywords menu use User Model SOAP Communication Client

Assieme Architecture - Server SOAP Communication Client Collaborative Filtering Algorithm Content-based Filtering Algorithm User Model User Id “Similar users have installed …” (similarity based on set of installed extensions) “In a similar context, many users have installed …” Captures long-term preferences Captures short-term needs Fusion

Assieme Content-based Filtering Algorithm Architecture - Server timestampFeature1Feature2ExtensionRating abc.el abc.el back.el google.el google.el1 SOAP Communication Client Collaborative Filtering Algorithm User Model Database UserIdExtensionRating 21abc.el0 433abc.el1 21back.el1 532google.el0 14google.el1 SVM User Id Learn classifier for each extension Memory-based Collaborative Filtering

Assieme Privacy User chooses feature detectors that she wants Missing data replaced by mean values Tradeoff between accuracy and privacy filetype-detector.el data: load: popularity: records the file extensions of all edited files, e.g. “.java”, and transmits their frequencies executed once for every file open and file save, low overhead high

Assieme Creating the database Database Emacs filetype:el hits Firefox/Thunderbird filetype:xpi hits Add-ins for MS applications filetpye:msi hits Web Crawler Seeds Index Custom Parsers Custom Indexers extract title and code language

Assieme Future Work – Ranking Components that are being heavily depended on may be more important (require …)

Assieme Future Work – Ranking Exploit link structure (or author structure) PageRank fails (no outlinks in extensions) Use EM approach –Compute value of web pages based on extensions –Compute value of extensions based on web pages elisp files: Elisp extensions (Authorities) Web pages (Hubs)

Assieme Future Work – Platform extend to different application software –Firefox and Thunderbird Extensions –Greasemonkey Scripts –Microsoft Office Add-ins –Eclipse Plugins –Latex Packages –WindowsXP tools (zip/unzip, viewers,…) provide universal XML interface

Assieme Conclusion thousands of software components online no efficient search interfaces & mechanisms available collaborative and content-based filtering are promising privacy issue can be solved