skip to main content
10.1145/2593882.2593896acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
Article

Future of end-user software engineering: beyond the silos

Published:31 May 2014Publication History

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.

References

  1. 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 ScholarGoogle Scholar
  2. Abraham, R. and Erwig, M. 2009. Mutation operators for spreadsheets, IEEE Transactions on Software Engineering, 35, 1, 94-108. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Badame, S. and Dig, D. 2012. Refactoring meets spreadsheet formulas, IEEE International Conference on Software Maintenance, 399-409. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle ScholarCross RefCross Ref
  11. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  12. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  19. European Spreadsheet Risk Interest Group, EuSpRIG horror stories: Spreadsheet mistakes news stories, http://www.eusprig.org/horror-stories.htm (accessed Dec. 8, 2013).Google ScholarGoogle Scholar
  20. 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 ScholarGoogle Scholar
  21. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  22. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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 ScholarGoogle Scholar
  24. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  25. Johnson, G. 1997. Labview Graphical Programming: Practical Applications in Instrumentation and Control, 2nd Edition. (McGraw-Hill, New York). Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Kahler, H. 2001. More than words - Collaborative tailoring of a word processor. Journal of Universal Computer Science, 7, 9, 826-847.Google ScholarGoogle Scholar
  27. 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 ScholarGoogle ScholarCross RefCross Ref
  28. Kim, S., Zimmermann, T., Whitehead, J., and Zeller, A. 2007. Predicting faults from cached history, International Conference on Software Engineering, 489-498 Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  30. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  31. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  32. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  33. 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 ScholarGoogle ScholarCross RefCross Ref
  34. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  35. 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 ScholarGoogle Scholar
  36. 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 ScholarGoogle ScholarCross RefCross Ref
  37. Lieberman H., Paterno F. and Wulf V. (Eds). 2006. End-User Development. (Kluwer / Springer. 2006).Google ScholarGoogle Scholar
  38. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  39. Nardi B. A Small Matter of Programming: Perspectives on End User Computing. 1993. (Cambridge, MA: The MIT Press). Google ScholarGoogle ScholarCross RefCross Ref
  40. Oxford Dictionary, http://www.oxforddictionaries.com/us/definition/american_e nglish/silo (accessed Dec. 9, 2013).Google ScholarGoogle Scholar
  41. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  42. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  43. Pirolli, P. and Card, S. 1999. Information foraging. Psych. Rev. 106, 4, 643–675.Google ScholarGoogle ScholarCross RefCross Ref
  44. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  45. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  46. Repenning, A. 2011. Programming goes back to school, Communications of the ACM, 55, 5 (May 2012), 38-40. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Rode, J., Rosson, M., Perez-Quinones, M. 2006. End user development of web applications, End User Development (Springer), 161-182.Google ScholarGoogle Scholar
  48. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  49. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  50. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  51. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  52. 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 ScholarGoogle Scholar
  53. Scaffidi, C., Myers, B., and Shaw, M. 2008. Topes: Reusable abstractions for validating data. International Conference on Software Engineering, 1-10. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  55. Schön, D. 1983. The Reflective Practitioner: How Professionals Think In Action. (Basic Books, New York, NY).Google ScholarGoogle Scholar
  56. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  57. Shaw, M. 2004. Avoiding costly errors in your spreadsheets. Contractor’s Management Report 11, 2-4.Google ScholarGoogle Scholar
  58. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  59. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  60. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  61. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  62. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  63. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  64. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  65. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Future of end-user software engineering: beyond the silos

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          FOSE 2014: Future of Software Engineering Proceedings
          May 2014
          224 pages
          ISBN:9781450328654
          DOI:10.1145/2593882

          Copyright © 2014 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 31 May 2014

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • Article

          Upcoming Conference

          ICSE 2025

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader