ABSTRACT
Programmers spend much of their time interacting with Integrated Development Environments (IDEs), which help increase productivity by automating much of the clerical and administrative work. Like any useful software, IDEs are becoming more powerful and usable as new functionality is added and usability concerns addressed. In particular, the last decade has witnessed the rapid and steady growth of features and enhancements (changes) in major Java IDEs. It is of research interest to learn about the characteristics of these changes as well as salient patterns in their evolution trajectories as these can be useful to understand and guide both the design and evolution of similar systems. To this end, a total of 645 "What's New" entries in seven releases of the Eclipse IDE were analyzed both quantitatively and qualitatively under two models. Using the first, an activity-based, functional model, it is found that the vast majority of the changes are refinements or incremental additions to the feature architecture set up in early releases (1.0 and 2.0). Using the second, a usability-based model, a detailed usability analysis was performed to further characterize these changes in terms of their potential impact on how effectively programmers use the IDE. Findings and implications as well as results of selective comparison with two other popular IDEs are reported.
- A. I. Antón and C. Potts. Functional Paleontology: The Evolution of User-Visible System Services. IEEE Trans. Softw. Eng., 29(2):151--166, 2003. Google ScholarDigital Library
- L. Belady and M. Lehman. A Model of Large Program Development. IBM Systems Journal, 15(3):225--252, 1976. Google ScholarDigital Library
- J. R. Cordy, N. L. Eliot, and M. G. Robertson. TuringTool: A User Interface to Aid in the Software Maintenance Task. IEEE Trans. Softw. Eng., 16(3):294--301, 1990. Google ScholarDigital Library
- U. Dekel and J. D. Herbsleb. Improving API Documentation Usability with Knowledge Pushing. In Proceedings of ICSE'2009, Vancouver, Canada, 2009. Google ScholarDigital Library
- M. Fowler et al. Refactorings--Improving the Design of Existing Software. Addison Wesley, 1999. Google ScholarDigital Library
- M. W. Godfrey and D. M. German. Past, Present, and Future of Software Evolution. In Proceedings of Frontiers of Software Maintenance, ICSM'08, pages 129--138, 2008.Google ScholarCross Ref
- M. W. Godfrey and Q. Tu. Evolution in Open Source Software: A Case Study. In ICSM'00, pages 131--140, 2000. Google ScholarDigital Library
- T. Green, A. Blandford, L. Church, C. Roast, and S. Clarke. Cognitive Dimensions: Achievements, New directions, and Open Questions. Journal of Visual Languages and Computing, 17(4):328--365, 2006.Google ScholarCross Ref
- D. Hou. Studying the Evolution of the Eclipse Java Editor. In eclipse '07: Proceedings of the 2007 OOPSLA workshop on eclipse technology eXchange, pages 65--69, 2007. Google ScholarDigital Library
- I. Hsi and C. Potts. Studying the Evolution and Enhancement of Software Features. In ICSM'00, pages 143--151, 2000. Google ScholarDigital Library
- H. X. Lin, Y.-Y. Choong, and G. Salvendy. A Proposed Index of Usability: a Method for Comparing the Relative Usability of Different Software Systems. Behaviour & Information Technology, 16(4/5):267--278, 1997.Google Scholar
- T. Mens, J. Fernández-Ramil, and S. Degrandsart. The Evolution of Eclipse. In ICSM'08, pages 386--395, 2008.Google Scholar
- G. C. Murphy, M. Kersten, and L. Findlater. How Are Java Software Developers Using the Eclipse IDE? IEEE Software, 23(4):76--83, 2006. Google ScholarDigital Library
- J. F. Pane and B. A. Myers. Usability Issues in the Design of Novice Programming Systems. Technical Report CMU-CS-96-132, Carnegie Mellon University, August 1996.Google Scholar
- S. P. Reiss. PECAN: Program Development Systems that Support Multiple Views. IEEE Trans. Softw. Eng., 11(3):276--285, 1985. Google ScholarDigital Library
- C. R. Rupakheti and D. Hou. An Empirical Study of the Design and Implementation of Object Equality in Java. In CASCON '08, pages 111--125, 2008. Google ScholarDigital Library
- W. Teitelman. Automated Programmering - the Programmer's Assistant. In Proceedings of the Fall Joint Computer Conference, AFIPS, pages 915--921, December 1972. Google ScholarDigital Library
- W. Teitelman and L. Masinter. The Interlisp Programming Environment. Computer, 14(4):25--33, 1981. Google ScholarDigital Library
- Y. Wang. Analyzing the Evolution of User-Visible Features in an Integrated Development Environment. Master's thesis, Department of Computer Science, Clarkson University, Potsdam, New York, July 2009.Google Scholar
- M. Wermelinger, Y. Yu, and A. Lozano. Design Principles in Architectural Evolution: A Case Study. In ICSM'08, pages 396--405, 2008.Google Scholar
- S. Zhai. On the Ease and Efficiency of Human-Computer Interfaces. In ETRA '08: Proceedings of the 2008 symposium on Eye tracking research & applications, pages 9--10, 2008. Google ScholarDigital Library
Index Terms
- An empirical analysis of the evolution of user-visible features in an integrated development environment
Recommendations
An integrated verification environment for JML: architecture and early results
SAVCBS '07: Proceedings of the 2007 conference on Specification and verification of component-based systems: 6th Joint Meeting of the European Conference on Software Engineering and the ACM SIGSOFT Symposium on the Foundations of Software EngineeringTool support for the Java Modeling Language (JML) is a very pressing problem. A main issue with current tools is their architecture: the cost of keeping up with the evolution of Java is prohibitively high: e.g., almost three years following its release, ...
Comments