ACM Transactions on Programming Languages and Systems (TOPLAS)
The vocabulary problem in human-system communication
Communications of the ACM
A small matter of programming: perspectives on end user computing
A small matter of programming: perspectives on end user computing
Internet repositories for collaborative learning: supporting both students and teachers
CSCL '95 The first international conference on Computer support for collaborative learning
Collaborative, programmable intelligent agents
Communications of the ACM
Training agents to recognize text by example
Proceedings of the third annual conference on Autonomous Agents
SWYN: a visual representation for regular expressions
Your wish is my command
Mining the Web: Discovering Knowledge from HyperText Data
Mining the Web: Discovering Knowledge from HyperText Data
Amazon.com Recommendations: Item-to-Item Collaborative Filtering
IEEE Internet Computing
Mining customer product ratings for personalized marketing
Decision Support Systems - Special issue: Web data mining
Supporting Reuse of Evolving Visual Code
VL '97 Proceedings of the 1997 IEEE Symposium on Visual Languages (VL '97)
Architectural styles and the design of network-based software architectures
Architectural styles and the design of network-based software architectures
Lightweight structure in text
RE-tree: an efficient index structure for regular expressions
The VLDB Journal — The International Journal on Very Large Data Bases
FEATURE: Empowering kids to create and share programmable media
interactions - Pencils before pixels: a primer in hand-generated sketching
Topes: reusable abstractions for validating data
Proceedings of the 30th international conference on Software engineering
Potluck: Data mash-up tool for casual users
Web Semantics: Science, Services and Agents on the World Wide Web
Intelligently creating and recommending reusable reformatting rules
Proceedings of the 14th international conference on Intelligent user interfaces
Fast, Accurate Creation of Data Validation Formats by End-User Developers
IS-EUD '09 Proceedings of the 2nd International Symposium on End-User Development
End-user programming in the wild: A field study of CoScripter scripts
VLHCC '08 Proceedings of the 2008 IEEE Symposium on Visual Languages and Human-Centric Computing
Hi-index | 0.00 |
To help users with automatically reformatting and validating spreadsheets and other datasets, prior work introduced a user-extensible data model called ''topes'' and a supporting visual programming language. However, no support has existed to date for users to exchange and reuse topes. This functional gap results in wasteful duplication of work as users implement topes that other people have already created. In this paper, a design for a new repository system is presented that supports sharing and finding of topes for reuse. This repository tightly integrates traditional keyword-based search with two additional search methods whose usefulness in repositories of end-user code has gone unexplored to date. The first method is ''search-by-match'', where a user specifies examples of data, and the repository retrieves topes that can reformat and validate that data. The second method is collaborative filtering, which has played a vital role in repositories of non-code artifacts. The repository's search functionality was empirically tested on a prototype repository implementation by simulating queries generated from real user spreadsheets. This experiment reveals that search-by-match and collaborative filtering greatly improve the accuracy of search over the traditional keyword-based approach, to a recall as high as 95%. These results show that search-by-match and collaborative filtering are useful approaches for helping users to publish, find, and reuse visual programs similar to topes.