Presentation on theme: "Assieme A SSIEME – A Recommender System for Emacs Extensions Raphael Hoffmann CSE574, WIN06 1/13/2015 University of Washington."— 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]
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 11.01.050.10.9abc.el0 24.03.050.80.1abc.el1 14.04.050.70.3back.el1 15.04.050.2 google.el0 02.06.050.50.4google.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 74 400 hits Firefox/Thunderbird filetype:xpi250 000 hits Add-ins for MS applications filetpye:msi 33 300 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
Your consent to our cookies if you continue to use this website.