EAGER: programming repetitive tasks by example
CHI '91 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
A Practical Approach to Programming With Assertions
IEEE Transactions on Software Engineering
Programming by demonstration: an inductive learning formulation
IUI '99 Proceedings of the 4th international conference on Intelligent user interfaces
Programming by example: programming by analogous examples
Communications of the ACM
A methodology for testing spreadsheets
ACM Transactions on Software Engineering and Methodology (TOSEM)
Automatic generation of program specifications
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
Computer
PADL '02 Proceedings of the 4th International Symposium on Practical Aspects of Declarative Languages
End-user software engineering with assertions in the spreadsheet paradigm
Proceedings of the 25th International Conference on Software Engineering
Automation and customization of rendered web pages
Proceedings of the 18th annual ACM symposium on User interface software and technology
Topes: reusable abstractions for validating data
Proceedings of the 30th international conference on Software engineering
Using scenario-based requirements to direct research on web macro tools
Journal of Visual Languages and Computing
Fast, Accurate Creation of Data Validation Formats by End-User Developers
IS-EUD '09 Proceedings of the 2nd International Symposium on End-User Development
Mashup-based information retrieval for domain experts
Proceedings of the 18th ACM conference on Information and knowledge management
No Code Required: Giving Users Tools to Transform the Web
No Code Required: Giving Users Tools to Transform the Web
Perturbation-based user-input-validation testing of web applications
Journal of Systems and Software
Locating need-to-translate constant strings in web applications
Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering
Refactoring pipe-like mashups for end-user programmers
Proceedings of the 33rd International Conference on Software Engineering
Finding suitable programs: semantic search with incomplete and lightweight specifications
Proceedings of the 34th International Conference on Software Engineering
Assisting end-user development in browser-based mashup tools
Proceedings of the 34th International Conference on Software Engineering
Debugging support for end user mashup programming
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Hi-index | 0.00 |
Web macros give web browser users ways to "program" tedious tasks, allowing those tasks to be repeated more quickly and reliably than when performed by hand. Web macros face dependability problems of their own, however: changes in websites or failure on the part of end-user programmers to anticipate possible macro behaviors can cause macros to act incorrectly, often in ways that are difficult to detect. We would like to provide at least some of the benefits of software engineering methodologies to the creators of web macros. To do this we adapt assertions to web-macro programming scenarios. While assertions are well-known to professional software engineers, our web macro assertions are unique in their focus on website evolution, are generated automatically, and encode the expectations and assumptions of a rapidly growing group of users who often have limited formal programming expertise. We have integrated our techniques for assertion generation and evaluation into a web macro tool, and performed an empirical study investigating its use. Our results show that the assertions can help web macro users detect macro failures and correct macro faults.