ABSTRACT
End-user software engineering (EUSE) is a research area that aims to invent new kinds of technologies that collaborate with end users to improve the quality of their software. The practice that EUSE research aims to support is end users using new tools and methods to improve the quality of the software that they and other end users have created. There is a need for this outcome because research shows both that the number of end users creating their own software greatly exceeds the number of professional software developers, and that the software they create is riddled with errors. In this paper, we describe the present state of EUSE, and challenges in moving forward toward a bright future. We show how the future of EUSE may become over-siloed, restricting future researchers' vision of what can be achieved. We then show that focusing on the in-the-moment intents of end-user developers can be used to derive a number of promising directions forward for EUSE researchers, and how theories can help us further de-silo future EUSE research. Finally, we discuss how overcoming challenges for the future of end-user software engineering may also bring direct benefits to the future of "classic" software engineering.
- Anonymous. 2013. User-unfriendly PR: Nearly 9 of 10 of Americans have negative feelings about brands with poorly performing websites and mobile apps, new SOASTA study reveals, Bulldog Reporter Daily Dog (June 20, 2013), https://www.bulldogreporter.com/dailydog/article/userunfriendly-pr-nearly-9-of-10-of-americans-have-negativefeelings-about-brands- (Accessed Dec. 8, 2013).Google Scholar
- Abraham, R. and Erwig, M. 2009. Mutation operators for spreadsheets, IEEE Transactions on Software Engineering, 35, 1, 94-108. Google ScholarDigital Library
- Badame, S. and Dig, D. 2012. Refactoring meets spreadsheet formulas, IEEE International Conference on Software Maintenance, 399-409. Google ScholarDigital Library
- Beckwith, L., Burnett, M., Wiedenbeck, S., Cook, C., Sorte, S., Hastings, M. 2005. Effectiveness of end-user debugging software features: Are there gender issues? ACM Conference on Human Factors in Computing Systems (Portland, Oregon, April 2005), 869-878. Google ScholarDigital Library
- Blackwell, A. 2002. First steps in programming: A rationale for attention investment models, IEEE Human-Centric Computing Languages and Environments (Arlington, VA, Sept. 2002), 2-10. Google ScholarDigital Library
- Bogart, C., Burnett, M., Cypher, A., Scaffidi, C. 2008. Enduser programming in the wild: A field study of CoScripter scripts, IEEE Symposium on Visual Languages and Human-Centric Computing (Herrshing am Ammersee, Germany, Sept. 2008), 39-46. Google ScholarDigital Library
- Brandt, J., Guo, P., Lewenstein, J., and Klemmer, S. 2008. Opportunistic programming: How rapid ideation and prototyping occur in practice. ICSE’08 Workshop on End-User Software Engineering. (Leipzig, Germany, May 2008). Google ScholarDigital Library
- Burnett, M., Cook, C., Pendse, O., Rothermel, G., Summet, J. and Wallace, C. 2003. End-user software engineering with assertions in the spreadsheet paradigm, International Conference on Software Engineering, (Portland, OR, May 2003), 93-103. Google ScholarDigital Library
- Burnett, M., Fleming, S., Iqbal, S., Venolia, G., Rajaram, V., Farooq, U., Grigoreanu, V., Czerwinski, M. Gender differences and programming environments: Across programming populations, ACM-IEEE International Symposium on Empirical Software Engineering and Measurement, (Bolzano-Bozen, Italy, Sept. 2010), Article 28, 10 pages. Google ScholarDigital Library
- Cao, J., Kwan, I., Bahmani, F., Burnett, M., Fleming, S., Jordahl, J., Horvath, A., Yang, S. 2013. End-user programmers in trouble: Can the Idea Garden help them to help themselves? IEEE Symposium on Visual Languages and Human-Centric Computing (San Jose, CA, Sept. 2013), pp. 151-158.Google ScholarCross Ref
- Cao, J., Riche, Y., Wiedenbeck, S., Burnett, M., Grigoreanu, V. 2010. End-user mashup programming: Through the design lens, ACM Conference on Human Factors in Computing Systems, 1009-1018. Google ScholarDigital Library
- Cao, X. and Iverson, L. 2006. Intentional access management: Making access control usable for end-users, Symposium on Usable Privacy and Security (SOUPS), (July 2006, Pittsburgh, PA), 20-31. Google ScholarDigital Library
- Conway, M., Audia, S., Burnette, T., Cosgrove, D., Christiansen, K., Deline, R., Durbin, K., Gossweiler, R., Koga, S., Long, C., Mallory, B., Miale, S., Monkaitis, J., Patten, J., Pierce, J., Shochet, J., Staack, D., Stearns, B., Stoakley, R., Sturgill, S., Viega, J., White, J., Williams, G., Pausch, R. 2000. Alice: Lessons learned from building a 3D system for novices, ACM Conference on Human Factors in Computing Systems, 486–493. Google ScholarDigital Library
- Costabile, M., Mussio, P., Provenza, L., Piccinno, A. 2008. End users as unwitting software developers. ICSE’08 Workshop on End-User Software Engineering. (Leipzig, Germany, May 2008). 6-10. Google ScholarDigital Library
- Costabile, M., Mussio P., Provenza L., and Piccinno A. 2009. Supporting end users to be co-designers of their tools. 2nd International Symposium on End-User Development (LNCS 5435), (Siegen, Germany, Springer-Verlag, Berlin Heidelberg, March 2009), 70-85. Google ScholarDigital Library
- Cunha, J., Fernandes, J., Mendes, J., Pacheco, H., Saraiva, J. 2012. Bidirectional transformation of model-driven spreadsheets, 5th International Conference on Model Transformation (ICMT ‘12), 105-120. Google ScholarDigital Library
- Eagan, J. and Stasko, J. 2008. The Buzz: Supporting user tailorability in awareness applications. ACM Conference on Human Factors in Computing Systems, (Florence, Italy, April 2008), 1729-1738. Google ScholarDigital Library
- Erwig M., Abraham R., Cooperstein I., Kollmansberger S. 2005. Automatic generation and maintenance of correct spreadsheets. International Conference on Software Engineering (St. Louis, Missouri, May 2005), 136-145. Google ScholarDigital Library
- European Spreadsheet Risk Interest Group, EuSpRIG horror stories: Spreadsheet mistakes news stories, http://www.eusprig.org/horror-stories.htm (accessed Dec. 8, 2013).Google Scholar
- Fischer, G. and Giaccardi, E. 2006. Meta-design: A framework for the future of end user development. In H. Lieberman, F. Paternò, & V. Wulf (Eds.), End User Development (Kluwer Academic Publishers, Dordrecht, The Netherlands), 427-457.Google Scholar
- Fisher, M., Rothermel, G., Creelan T. and Burnett, M. 2006. Scaling a dataflow testing methodology to the multiparadigm world of commercial spreadsheets, IEEE International Symposium on Software Reliability Engineering, (Raleigh, NC, November 2006), 13-22. Google ScholarDigital Library
- Fleming, S., Scaffidi, C., Piorkowski, D., Burnett, M., Bellamy, R., Lawrance, J., Kwan, I. 2013. An information foraging theory perspective on tools for debugging, refactoring, and reuse tasks, ACM Transactions on Software Engineering and Methodology, 22, 2, (March 2013), Article 14, 41 pages. Google ScholarDigital Library
- Groce, A., Kulesza, T., Zhang, C., Shamasunder, S., Burnett, M., Wong, W., Stumpf, S., Das, S., Shinsel, A., Bice, F., McIntosh, K. (to appear). You are the only possible oracle: Effective test selection for end users of interactive machine learning systems, IEEE Transactions on Software Engineering (to appear).Google Scholar
- Hermans, F., Sedee, B., Pinzger, M., Van Deursen, A. 2013. Data clone detection and visualization in spreadsheets, International Conference on Software Engineering, 292-301. Google ScholarDigital Library
- Johnson, G. 1997. Labview Graphical Programming: Practical Applications in Instrumentation and Control, 2nd Edition. (McGraw-Hill, New York). Google ScholarDigital Library
- Kahler, H. 2001. More than words - Collaborative tailoring of a word processor. Journal of Universal Computer Science, 7, 9, 826-847.Google Scholar
- Kerr, J., Chou, M., Ellis, R., Kelleher, C. 2013. Setting the scene: Scaffolding stories to benefit middle school students learning to program, IEEE Symposium on Visual Languages and Human-Centric Computing, (San Jose, CA, Sept. 2013), 95-98.Google ScholarCross Ref
- Kim, S., Zimmermann, T., Whitehead, J., and Zeller, A. 2007. Predicting faults from cached history, International Conference on Software Engineering, 489-498 Google ScholarDigital Library
- Ko, A., Abraham, R., Beckwith, L., Blackwell, A., Burnett, M., Erwig, M., Scaffidi, C., Lawrance, J., Lieberman, H., Myers, B., Rosson, M., Rothermel, G., Shaw, M., Wiedenbeck, S. 2011. The state of the art in end-user software engineering, ACM Computing Surveys, 43, 3 (April 2011), Article 21, 44 pages. Google ScholarDigital Library
- Ko, A. and Myers, B. 2005. A framework and methodology for studying the causes of software errors in programming systems, Journal of Visual Languages and Computing 16, 1 (Feb. 2005), 41-84. Google ScholarDigital Library
- Ko, A. and Myers, B. 2004. Designing the Whyline: A debugging interface for asking questions about program behavior, ACM Conference on Human Factors in Computing Systems (Vienna, Austria, April 2004), 151-158. Google ScholarDigital Library
- Ko A. and Myers, B. 2008. Debugging reinvented: Asking and answering why and why not questions about program behavior, International Conference on Software Engineering (Leipzig, Germany, May 2008), 301-310. Google ScholarDigital Library
- Kuttal, S., Sarma, A., Rothermel, G. 2013. Predator behavior in the wild web world of bugs: An information foraging theory perspective, IEEE Symposium on Visual Languages and Human-Centric Computing (San Jose, CA, Sept. 2013), 59-66.Google ScholarCross Ref
- Lee, B., Kumar, S., Brafman, R., Klemmer, S. 2010. Designing with interactive example galleries, ACM Conference on Human Factors in Computing Systems (Atlanta, GA, Apr. 2010), 2257-2268. Google ScholarDigital Library
- Lee, M. and Ko, A. 2012. Investigating the role of purposeful goals on novices’ engagement in a programming game. IEEE Symposium on Visual Languages and Human-Centric Computing, 163-166.Google Scholar
- Li, S., Xie, T., Tillmann, N. 2013. A comprehensive field study of end-user programming on mobile devices, IEEE Symposium on Visual Languages and Human-Centric Computing (San Jose, CA, Sept. 2013), 43-50.Google ScholarCross Ref
- Lieberman H., Paterno F. and Wulf V. (Eds). 2006. End-User Development. (Kluwer / Springer. 2006).Google Scholar
- Lin, J., Wong, J., Nichols, J., Cypher, A., Lau, T. 2009. Enduser programming of mashups with Vegemite, ACM International Conference on Intelligent User Interfaces (Sanibel Island, Florida, Feb. 2009), 97-106. Google ScholarDigital Library
- Nardi B. A Small Matter of Programming: Perspectives on End User Computing. 1993. (Cambridge, MA: The MIT Press). Google ScholarCross Ref
- Oxford Dictionary, http://www.oxforddictionaries.com/us/definition/american_e nglish/silo (accessed Dec. 9, 2013).Google Scholar
- Ozenc, F., Kim, M., Zimmerman, J., Oney, S., Myers B. 2010. How to support designers in getting hold of the immaterial material of software, ACM Conference on Human Factors in Computing Systems (Atlanta, GA., April 2010), 2513-2522. Google ScholarDigital Library
- Petre M. and Blackwell, A. 2007. Children as unwitting enduser programmers, IEEE Symposium on Visual Languages and Human-Centric Computing (Couer d’Alene, Idaho, Sept. 2007), 239-242. Google ScholarDigital Library
- Pirolli, P. and Card, S. 1999. Information foraging. Psych. Rev. 106, 4, 643–675.Google ScholarCross Ref
- Posnett, D., D’Souza, R., Devanbu, P., Filkov, V. 2013. Dual ecological measures of focus in software development, International Conference on Software Engineering, 452-461. Google ScholarDigital Library
- Raz O., Koopman P., Shaw M. 2002. Semantic anomaly detection in online data sources. International Conference on Software Engineering (Orlando, Florida, May 2002), 302- 312. Google ScholarDigital Library
- Repenning, A. 2011. Programming goes back to school, Communications of the ACM, 55, 5 (May 2012), 38-40. Google ScholarDigital Library
- Rode, J., Rosson, M., Perez-Quinones, M. 2006. End user development of web applications, End User Development (Springer), 161-182.Google Scholar
- Rosson, M., Sinha H., Bhattacharya, M., Zhao, D. 2007. Design planning in end-user web development. IEEE Symposium on Visual Languages and Human-Centric Computing, 189-196. Google ScholarDigital Library
- Rothermel, G., Burnett, M., Li, L., Dupuis, C. and Sheretov, A. 2001. A methodology for testing spreadsheets, ACM Trans. Software Engineering and Methodology 10, 1 (Jan. 2001), 110-147. Google ScholarDigital Library
- Ruthruff, J., Prabhakararao, S., Reichwein, J., Cook, C., Creswick, E. and Burnett, M. 2005. Interactive, visual fault localization support for end-user programmers, Journal of Visual Languages and Computing, 16, 1-2 (February/April 2005), 3-40. Google ScholarDigital Library
- Scaffidi, C., Ko, A., Myers, B., and Shaw, M. 2006. Dimensions characterizing programming feature usage by information workers, IEEE Symposium on Visual Languages and Human-Centric Computing, 59-64. Google ScholarDigital Library
- Scaffidi, C., Myers, B., and Shaw, M. 2006. Challenges, motivations, and success factors in the creation of Hurricane Katrina “person locator” web sites, Psych. Programming Interest Group Workshop (Sept. 2006), 9 pages.Google Scholar
- Scaffidi, C., Myers, B., and Shaw, M. 2008. Topes: Reusable abstractions for validating data. International Conference on Software Engineering, 1-10. Google ScholarDigital Library
- Scaffidi, C., Shaw, M., and Myers, B. 2005. Estimating the numbers of end users and end user programmers. IEEE Symposium on Visual Languages and Human-Centric Computing, 207-214. Google ScholarDigital Library
- Schön, D. 1983. The Reflective Practitioner: How Professionals Think In Action. (Basic Books, New York, NY).Google Scholar
- Segal, J. 2007. Some problems of professional end user developers, IEEE Symposium on Visual Languages and Human-Centric Computing, (Couer d’Alene, Idaho, Sept. 2007), 111-118. Google ScholarDigital Library
- Shaw, M. 2004. Avoiding costly errors in your spreadsheets. Contractor’s Management Report 11, 2-4.Google Scholar
- Stolee, K. and Elbaum, S. 2013. Identification, impact, and refactoring of smells in pipe-like web mashups, IEEE Transactions on Software Engineering 39, 12 (Dec. 2013), 1654-1679. Google ScholarDigital Library
- Subrahmaniyan, N., Burnett, M. and Bogart, C. 2008. Software visualization for end-user programmers: Trial period obstacles, ACM Symposium on Software Visualization (Herrsching am Ammersee, Germany, September 2008), 135-144. Google ScholarDigital Library
- Tillmann, N., de Halleux, J., Xie, T., Gulwani, S., Bishop, J. 2013. Teaching and learning programming and software engineering via interactive gaming, International Conference on Software Engineering (San Francisco, CA, May 2013), 1117-1126. Google ScholarDigital Library
- Trigg, R. and Bødker, S. 1994. From implementation to design: Tailoring and the emergence of systematization. ACM Conference on Computer Supported Cooperative Work, (Chapel Hill, North Carolina, October 1994), 45-54. Google ScholarDigital Library
- Walia G. and Carver, J. 2009. A systematic literature review to identify and classify software requirement errors, Information and Software Technology 51. 1087–1109. Google ScholarDigital Library
- Wiedenbeck, S. 2005. Facilitators and inhibitors of end-user development by teachers in a school environment. IEEE Symposium on Visual Languages and Human-Centric Computing, 215–222. Google ScholarDigital Library
- Wilson, A., Burnett, M., Beckwith, L., Granatir, O., Casburn, L., Cook, C., Durham, M. and Rothermel, G. 2003. Harnessing curiosity to increase correctness in end-user programming, ACM Conference on Human Factors in Computing Systems, (Ft. Lauderdale, FL, April 2003), 305- 312. Google ScholarDigital Library
- Xie, J., Chu, V., Lipford, H. and Melton, J. 2011. ASIDE: IDE support for web application security, ACM Annual Computer Security Applications Conference (Dec. 2011). 267-276. Google ScholarDigital Library
Index Terms
- Future of end-user software engineering: beyond the silos
Recommendations
The state of the art in end-user software engineering
Most programs today are written not by professional software developers, but by people with expertise in other domains working towards goals for which they need computational support. For example, a teacher might write a grading spreadsheet to save time ...
End-User Software Engineering: Toward a Future Beyond the Silos
HCSE 2014: Proceedings of the 5th IFIP WG 13.2 International Conference on Human-Centered Software Engineering - Volume 8742This paper summarizes the keynote address on the future of end-user software engineering. We believe the future that we envision has implications for not only end-user software engineering, but also for "classic" software engineering.
End user software engineering: CHI 2010 special interest group meeting
CHI EA '10: CHI '10 Extended Abstracts on Human Factors in Computing SystemsEnd users create software whenever they create, for instance, interactive web pages, games, educational simulations, or spreadsheets. Researchers are working to bring the benefits of rigorous software engineering methodologies to these end users to try ...
Comments