skip to main content
10.1145/1240624.1240715acmconferencesArticle/Chapter ViewAbstractPublication PageschiConference Proceedingsconference-collections
Article

Aligning development tools with the way programmers think about code changes

Published:29 April 2007Publication History

ABSTRACT

Software developers must modify their programs to keepup with changing requirements and designs. Often, aconceptually simple change can require numerous editsthat are similar but not identical, leading to errors andomissions. Researchers have designed programming environmentsto address this problem, but most of thesesystems are counter-intuitive and difficult to use.By applying a task-centered design process, we developeda visual tool that allows programmers to makecomplex code transformations in an intuitive manner.This approach uses a representation that aligns wellwith programmers' mental models of programming structures.The visual language combines textual and graphicalelements and is expressive enough to support a broadrange of code-changing tasks. To simplify learning thesystem, its user interface scaffolds construction and executionof transformations. An evaluation with Java programmerssuggests that the interface is intuitive, easyto learn, and effective on a representative editing task.

References

  1. XSL transformations (XSLT), version 1.0. World Wide Web Consortium, Recommendation, Nov. 1999.Google ScholarGoogle Scholar
  2. G. J. Badros. JavaML: a markup language for Java source code. Computer Networks, 33(1--6):159--177, June 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. I. D. Baxter, C. Pidgeon, and M. Mehlich. DMS: Program transformations for practical scalable software evolution. In Proc. of ICSE '04, pages 625--634, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. A. F. Blackwell. SWYN: A visual representation for regular expressions. In H. Lieberman, editor, Your Wish Is My Command. Morgan Kauffman, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. A. F. Blackwell and T. R. G. Green. A cognitive dimensions questionnaire optimised for users. In A. Blackwell and E. Bilotta, editors, Proc. of PPIG 13, May 2000.Google ScholarGoogle Scholar
  6. M. Boshernitsan. Program Manipulation via Interactive Transformations. PhD thesis, EECS Department, University of California, Berkeley, July 25 2006. Technical Report UCB/EECS-2006-100. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. M. Boshernitsan and S. L. Graham. Designing an XML-based exchange format for harmonia. In Proc. of WCRE '00, pages 287--289, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. S. Burson, G. B. Kotik, and L. Z. Markosian. A program transformation approach to automating software reengineering. In Proc. of ICSAC '90, pages 314--322, 1990.Google ScholarGoogle Scholar
  9. M. L. Collard, J. I. Maletic, and A. Marcus. Supporting document and data views of source code. In Proc. of DocEng '02, pages 34--41, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. J. R. Cordy, T. R. Dean, A. J. Malton, and K. A. Schneider. Software engineering by source transformation-experience with TXL. In Proc. of SCAM '01, pages 170--180, 2001.Google ScholarGoogle ScholarCross RefCross Ref
  11. J. R. Cordy, C. D. Halpern-Hamu, and E. Promislow. TXL: A rapid prototyping system for programming language dialects. Comput. Lang, 16(1):97--107, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. F. Detienne. Software Design -- Cognitive Aspects. Springer Verlag, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. A. A. diSessa and H. Abelson. Boxer: a reconstructible computational medium. CACM, 29(9):859--868, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. D. Dougherty. sed & awk. O'Reilly & Associates, Inc., 1991.Google ScholarGoogle Scholar
  15. M. Erwig. A visual language for XML. In Proc. of VL '00, page 47, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. T. R. G. Green. Cognitive dimensions of notations. In Proc. of HCI'89, Cognitive Ergonomics, pages 443--460, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. W. G. Griswold, D. C. Atkinson, and C. McCurdy. Fast, flexible syntactic pattern matching and processing. In Proc. of WPC '96, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. H. Hosoya and B. C. Pierce. XDuce: A statically typed XML processing language. ACM Transactions on Internet Technology, 3(2):117--148, May 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. D. E. Knuth. The errors of TEX. Software- Practice and Experience, 19(7):607--681, July 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. D. A. Ladd and J. C. Ramming. A*: A language for implementing language processors. IEEE Transactions on Software Engineering, 21(11):894--901, Nov. 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. J. Landauer and M. Hirakawa. Visual AWK: a model for text processing by demonstration. In Proc. of VL '95, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. R. C. Martin and R. S. Koss. Engineer notebook: An extreme programming episode. In R. C. Martin, editor, Advanced Principles, Patterns and Process of Software Development. Prentice Hall, 2001.Google ScholarGoogle Scholar
  23. R. C. Miller and B. A. Myers. Interactive simultaneous editing of multiple text regions. In Proc. of USENIX ATC'01, pages 161--174, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. R. P. Nix. Editing by example. ACM Trans. Program. Lang. Syst., 7(4):600--621, 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. E. Pietriga, J.-Y. Vion-Dury, and V. Quint. VXT: A visual approach to XML transformations. In Proc. of DocEng '01, pages 1--10, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. D. Roberts and J. Brant. Tools for making impossible changes. IEE Proceedings Software, 151(2):49--56, 2004.Google ScholarGoogle ScholarCross RefCross Ref
  27. D. Roberts, J. Brant, and R. E. Johnson. A refactoring tool for Smalltalk. Theory and Practice of Object Systems, 3(4):253--263, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. E. B. Swanson. The dimensions of maintenance. In Proc. of ICSE '76, pages 492--497, 1976. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. E. Visser. Program transformation with Stratego/XT. In C. Lengauer et al., editors, Domain-Specific Program Generation, volume 3016 of Lecture Notes in Computer Science, pages 216--238. Spinger-Verlag, June 2004.Google ScholarGoogle ScholarCross RefCross Ref
  30. R. C. Waters. Program translation via abstraction and reimplementation. IEEE Transactions on Software Engineering, 14(8):1207--1228, Aug. 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. I. H. Witten and D. Mo. TELS: learning text editing tasks from examples. pages 183--203, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Aligning development tools with the way programmers think about code changes

      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
        CHI '07: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
        April 2007
        1654 pages
        ISBN:9781595935939
        DOI:10.1145/1240624

        Copyright © 2007 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: 29 April 2007

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • Article

        Acceptance Rates

        CHI '07 Paper Acceptance Rate182of840submissions,22%Overall Acceptance Rate6,199of26,314submissions,24%

        Upcoming Conference

        CHI '24
        CHI Conference on Human Factors in Computing Systems
        May 11 - 16, 2024
        Honolulu , HI , USA

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader