skip to main content
10.1145/2384616.2384665acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

Speculative analysis of integrated development environment recommendations

Published:19 October 2012Publication History

ABSTRACT

Modern integrated development environments make recommendations and automate common tasks, such as refactorings, auto-completions, and error corrections. However, these tools present little or no information about the consequences of the recommended changes. For example, a rename refactoring may: modify the source code without changing program semantics; modify the source code and (incorrectly) change program semantics; modify the source code and (incorrectly) create compilation errors; show a name collision warning and require developer input; or show an error and not change the source code. Having to compute the consequences of a recommendation -- either mentally or by making source code changes -- puts an extra burden on the developers. This paper aims to reduce this burden with a technique that informs developers of the consequences of code transformations. Using Eclipse Quick Fix as a domain, we describe a plug-in, Quick Fix Scout, that computes the consequences of Quick Fix recommendations. In our experiments, developers completed compilation-error removal tasks 10% faster when using Quick Fix Scout than Quick Fix, although the sample size was not large enough to show statistical significance.

References

  1. M. Bruch, M. Monperrus, and M. Mezini. Learning from examples to improve code completion systems. In Proceedings of the the 7th Joint Meeting of the European Software Engineering Conference and ACM SIGSOFT Symposium on The Foundations of Software Engineering (ESEC/FSE09), pages 213--222, Amsterdam, The Netherlands, 2009. doi: 10.1145/1595696.1595728. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Y. Brun, R. Holmes, M. D. Ernst, and D. Notkin. Speculative analysis: Exploring future states of software. In Proceedings of the 2010 Foundations of Software Engineering Working Conference on the Future of Software Engineering Research, FoSER '10, Santa Fe, NM, USA, November 2010. doi: 10.1145/1882362.1882375.{ Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Y. Brun, R. Holmes, M. D. Ernst, and D. Notkin. Crys-tal: Proactive conflict detector for distributed version control. http://crystalvc.googlecode.com, 2010.Google ScholarGoogle Scholar
  4. Y. Brun, R. Holmes, M. D. Ernst, and D. Notkin. Proactive detection of collaboration conflicts. In Proceedings of the 8th Joint Meeting of the European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering, ESEC/FSE '11, pages 168--178, Szeged, Hungary, September 2011. doi: 10.1145/2025113.2025139. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. C. Castro-Herrera, C. Duan, J. Cleland-Huang, and B. Mobasher. A recommender system for requirements elicitation in large-scale software projects. In Proceedings of the 2009 ACM Symposium on Applied Computing, SAC '09, pages 1419--1426, 2009. doi: 10.1145/1529282.1529601. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. R. Holmes, M. Robillard, R. Walker, T. Zimmermann, and W. Maalej. International Workshops on Recommendation Systems for Software Engineering (RSSE). https://sites.google.com/site/rsseresearch, 2012.Google ScholarGoogle Scholar
  7. W. Janjic, D. Stoll, P. Bostan, and C. Atkinson. Lowering the barrier to reuse through test-driven search. In Proceedings of the 2009 31st International Conference on Software Engineering Workshop on Search-Driven Development-Users, Infrastructure, Tools and Evaluation, SUITE '09, pages 21--24, 2009. doi: 10.1109/SUITE.2009.5070015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. P. Kapur, B. Cossette, and R. J. Walker. Refactoring references for library migration. In Proceedings of the ACM International Conference on Object Oriented Programming Systems Lan-guages and Applications, OOPSLA '10, pages 726--738, 2010. doi: 10.1145/1869459.1869518. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. F. M. Melo and A. Pereira Jr. A component-based open-source framework for general-purpose recommender systems. In Proceedings of the 14th International ACM SIGSOFT Symposium on Component Based Software Engineering, CBSE '11, pages 67--72, 2011. doi: 10.1145/2000229.2000239. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. K. Mus¸ lu, Y. Brun, R. Holmes, M. D. Ernst, and D. Notkin. Quick Fix Scout. http://quick-fix-scout.googlecode.com, 2010.Google ScholarGoogle Scholar
  11. K. Mus¸ lu, Y. Brun, R. Holmes, M. D. Ernst, and D. Notkin. Improving IDE recommendations by considering global implications of existing recommendations. In Proceedings of the 34th International Conference on Software Engineering, New Ideas and Emerging Results Track, ICSE '12, Zurich, Switzerland, June 2012. doi: 10.1109/ICSE.2012.6227082. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. G. C. Murphy, M. Kersten, and L. Findlater. How are Java software developers using the Eclipse IDE? IEEE Software, 23(4):76--83, July 2006. doi: 10.1109/MS.2006.105. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. D. Perelman, S. Gulwani, T. Ball, and D. Grossman. Type-directed completion of partial expressions. In Proceedings of Programming Language Design and Implementation, PLDI '12, Beijing, China, June 2012. doi: 10.1145/2254064.2254098. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. R. Robbes and M. Lanza. How program history can improve code completion. In Proceedings of the 23rd IEEE/ACM International Conference on Automated Software Engineering, ASE '08, pages 317--326, L'Aquila, Italy, 2008. doi: 10.1109/ASE.2008.42. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. M. Robillard, R. Walker, and T. Zimmermann. Recommendation systems for software engineering. IEEE Software, 27: 80--86, 2010. doi: 10.1109/MS.2009.161. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. K. Schneider, S. Gärtner, T. Wehrmaker, and B. Brugge. Recommendations as learning: From discrepancies to software improvement. In Proceedings of the International Workshop on Software Recommendation Systems, RSSE '12, pages 31--32, 2012. doi: 10.1109/RSSE.2012.6233405.Google ScholarGoogle ScholarCross RefCross Ref
  17. P. F. Xiang, A. T. T. Ying, P. Cheng, Y. B. Dang, K. Ehrlich, M. E. Helander, P. M. Matchen, A. Empere, P. L. Tarr, C. Williams, and S. X. Yang. Ensemble: a recommendation tool for promoting communication in software teams. In Proceedings of the International Workshop on Recommendation Systems for Software Engineering, RSSE '08, pages 2:1--2:1, 2008. doi: 10.1145/1454247.1454259. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Speculative analysis of integrated development environment recommendations

    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
      OOPSLA '12: Proceedings of the ACM international conference on Object oriented programming systems languages and applications
      October 2012
      1052 pages
      ISBN:9781450315616
      DOI:10.1145/2384616
      • cover image ACM SIGPLAN Notices
        ACM SIGPLAN Notices  Volume 47, Issue 10
        OOPSLA '12
        October 2012
        1011 pages
        ISSN:0362-1340
        EISSN:1558-1160
        DOI:10.1145/2398857
        Issue’s Table of Contents

      Copyright © 2012 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: 19 October 2012

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate268of1,244submissions,22%

      Upcoming Conference

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader