skip to main content
research-article

CoExist: overcoming aversion to change

Authors Info & Claims
Published:22 October 2012Publication History
Skip Abstract Section

Abstract

Programmers make many changes to the program to eventually find a good solution for a given task. In this course of change, every intermediate development state can of value, when, for example, a promising ideas suddenly turn out inappropriate or the interplay of objects turns out more complex than initially expected before making changes. Programmers would benefit from tool support that provides immediate access to source code and run-time of previous development states of interest. We present IDE extensions, implemented for Squeak/Smalltalk, to preserve, retrieve, and work with this information. With such tool support, programmers can work without worries because they can rely on tools that help them with whatever their explorations will reveal. They no longer have to follow certain best practices only to avoid undesired consequences of hanging code.

References

  1. Apache2003SVN Best Practice. Subversion best practices, 2009. URL http://svn.apache.org/repos/asf/subversion/trunk/doc/user/svn-best-practices.html.Google ScholarGoogle Scholar
  2. C. Beck, Kent and. Andres. Extreme Programming Explained: Embrace Change. Addison-Wesley Longman, 2004. ISBN 978-0321278654. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. M. Denker, T. G1rba, A. Lienhard, O. Nierstrasz, L. Renggli, and P. Zumkehr. Encapsulating and exploiting change with Changeboxes. In ICDL'07: International Conference on Dynamic Languages, 2007. ISBN 978-1-60558-084-5. doi: 10.1145/1352678.1352681. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. P. Ebraert, J. Vallejos, P. Costanza, E. Van Paesschen, and T. D'Hondt. Change-oriented software engineering. In Proceedings of the 2007 International Conference on Dynamic languages: In Conjunction with the 15th International Smalltalk Joint Conference 2007, pages 3--24. ACM, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. M. Fowler. Refactoring: improving the design of existing code. Addison-Wesley Professional, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. M. Fowler. Continuous integration, 2006. URL http://www.martinfowler.com/articles/continuousIntegration.html.Google ScholarGoogle Scholar
  7. G. Goldschmidt. The dialectics of sketching. Creativity Research Journal, 4(2), 1991.Google ScholarGoogle ScholarCross RefCross Ref
  8. B. Hartmann, L. Yu, A. Allison, Y. Yang, and S. R. Klemmer. Design as exploration: creating interface alternatives through parallel authoring and runtime tuning. In Symposium on User interface software and technology, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. L. Hattori, M. D'Ambros, M. Lanza, and M. Lungu. Software evolution comprehension: Replay to the rescue. In ICPC 2011: Proceedings of the 1th IEEE International Conference on Program Comprehension, pages 161--170. IEEE Computer Society, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. D. Kirsh. Thinking with external representations. Ai & Society, 25(4): 441--454, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. J. Laval, S. Denier, S. Ducasse, and J.-R. Falleri. Supporting simul-taneous versions for software evolution assessment. Science of Computer Programming, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Y.-K. Lim, E. Stolterman, and J. Tenenberg. The anatomy of pro-totypes: Prototypes as filters, prototypes as manifestations of design ideas. ACM Transactions on Computer-Human Interaction (TOCHI), 15(2), 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. C. Okasaki. Purely functional data structures. Cambridge University Press, New York, NY, USA, 1998. ISBN 0-521-63124-6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. J. Pelrine, A. Knight, and A. Cho. Mastering ENVY/Developer. Cambridge University Press, New York, NY, USA, 2001. ISBN 0-521-66650-3. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. R. Robbes and M. Lanza. A change-based approach to software evolution. Electronic Notes in Theoretical Computer Science, 166: 93--109, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. R. Robbes and R. Lanza. Characterizing and understanding development sessions. In ICPC 2007: Proceedings of the 15th IEEE International Conference on Program Comprehension}, pages 155--166. IEEE Computer Society, 2007 Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. D. Saff and M. D. Ernst. Reducing wasted development time via continuous testing. In ISSRE'03: International Symposium on Software Reliability Engineering, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. B. Shneiderman and C. Plaisant. Designing the user interface: strategies for effective human-computer interaction. Pearson Addison Wesley, 5 edition, 2009. ISBN 978-0321601483.Google ScholarGoogle Scholar
  19. M. Suwa and B. Tversky. External representations contribute to the dynamic construction of ideas. In Diagrammatic Representation and Inference, volume 2317. Springer Berlin / Heidelberg, 2002. ISBN 978-3-540-43561-7. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. D. Thomas and K. Johnson. Orwell -- A configuration management system for team programming. In OOPSLA'88: International Conference on Object-Oriented Programming, Systems, Languages, and Applications, New York, NY, USA, 1988. ISBN 0--89791--284--5. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. A. Warth, Y. Ohshima, T. Kaehler, and A. Kay. Worlds: Controlling the scope of side effects. In ECOOP'11: Proceedings of the 25th European Conference on Object-Oriented Programming, pages 179--203, Lancaster, UK, 2011. Springer. 10.1007/978--3--642--22655--7_9. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. CoExist: overcoming aversion to change

      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

      Full Access

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!