skip to main content
research-article

Speculative analysis of integrated development environment recommendations

Published: 19 October 2012 Publication 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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[10]
K. Mus¸ lu, Y. Brun, R. Holmes, M. D. Ernst, and D. Notkin. Quick Fix Scout. http://quick-fix-scout.googlecode.com, 2010.
[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.
[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.
[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.
[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.
[15]
M. Robillard, R. Walker, and T. Zimmermann. Recommendation systems for software engineering. IEEE Software, 27: 80--86, 2010.
[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.
[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.

Cited By

View all
  • (2023)On Automated Assistants for Software Development: The Role of LLMsProceedings of the 38th IEEE/ACM International Conference on Automated Software Engineering10.1109/ASE56229.2023.00035(1737-1741)Online publication date: 11-Nov-2023
  • (2022)All you need is logs: improving code completion by learning from anonymous IDE usage logsProceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3540250.3558968(1269-1279)Online publication date: 7-Nov-2022
  • (2022)Development iterations based on web augmentation and context tasksMultimedia Tools and Applications10.1007/s11042-022-13694-282:8(11793-11817)Online publication date: 5-Sep-2022
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

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
  • 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
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
Published in SIGPLAN Volume 47, Issue 10

Check for updates

Author Tags

  1. IDE
  2. eclipse
  3. quick fix
  4. quick fix dialog
  5. quick fix scout
  6. recommendations
  7. speculative analysis

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)48
  • Downloads (Last 6 weeks)4
Reflects downloads up to 10 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2023)On Automated Assistants for Software Development: The Role of LLMsProceedings of the 38th IEEE/ACM International Conference on Automated Software Engineering10.1109/ASE56229.2023.00035(1737-1741)Online publication date: 11-Nov-2023
  • (2022)All you need is logs: improving code completion by learning from anonymous IDE usage logsProceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3540250.3558968(1269-1279)Online publication date: 7-Nov-2022
  • (2022)Development iterations based on web augmentation and context tasksMultimedia Tools and Applications10.1007/s11042-022-13694-282:8(11793-11817)Online publication date: 5-Sep-2022
  • (2022)Suggesting model transformation repairs for rule-based languages using a contract-based testing approachSoftware and Systems Modeling (SoSyM)10.1007/s10270-021-00891-021:1(81-112)Online publication date: 1-Feb-2022
  • (2021)Recommender systems in model-driven engineeringSoftware and Systems Modeling10.1007/s10270-021-00905-xOnline publication date: 26-Jul-2021
  • (2021)Consistent change propagation within modelsSoftware and Systems Modeling (SoSyM)10.1007/s10270-020-00823-420:2(539-555)Online publication date: 1-Apr-2021
  • (2019)Detecting and exploring side effects when repairing model inconsistenciesProceedings of the 12th ACM SIGPLAN International Conference on Software Language Engineering10.1145/3357766.3359546(113-126)Online publication date: 20-Oct-2019
  • (2019)Learning from Evolution for EvolutionManaged Software Evolution10.1007/978-3-030-13499-0_10(255-308)Online publication date: 27-Jun-2019
  • (2018)Quick fixing ATL transformations with speculative analysisSoftware and Systems Modeling (SoSyM)10.1007/s10270-016-0541-117:3(779-813)Online publication date: 1-Jul-2018
  • (2016)A cross-tool communication study on program analysis tool notificationsProceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering10.1145/2950290.2950304(73-84)Online publication date: 1-Nov-2016
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media