Improving IDE Recommendations by Considering Global Implications of Existing Recommendations
by Kıvanç Muşlu, Yuriy Brun, Reid Holmes, Michael D. Ernst, David Notkin
Abstract:
Modern integrated development environments (IDEs) offer recommendations to aid development, such as auto-completions, refactorings, and fixes for compilation errors. Recommendations for each code location are typically computed independently of the other locations. We propose that an IDE should consider the whole codebase, not just the local context, before offering recommendations for a particular location. We demonstrate the potential benefits of our technique by presenting four concrete scenarios in which the Eclipse IDE fails to provide proper Quick Fixes at relevant locations, even though it offers those fixes at other locations. We describe a technique that can augment an existing IDE's recommendations to account for non-local information. For example, when some compilation errors depend on others, our technique helps the developer decide which errors to resolve first.
Citation:
Kıvanç Muşlu, Yuriy Brun, Reid Holmes, Michael D. Ernst, and David Notkin, Improving IDE Recommendations by Considering Global Implications of Existing Recommendations, in Proceedings of the New Ideas and Emerging Results Track at the 34th International Conference on Software Engineering (ICSE), 2012, pp. 1349–1352.
Bibtex:
@inproceedings{Muslu12icse-nier,
  author = {K{\i}van{\c{c}} Mu{\c{s}}lu and Yuriy Brun and Reid Holmes and
  Michael D. Ernst and David Notkin},
  title =
  {\href{http://people.cs.umass.edu/brun/pubs/pubs/Muslu12icse-nier.pdf}{Improving
  IDE Recommendations by Considering Global Implications of Existing
  Recommendations}},
  year = {2012},
  address = {Zurich, Switzerland},
  pages        = {1349--1352},
  booktitle = {Proceedings of the New Ideas and Emerging Results Track at the
  34th International Conference on Software Engineering (ICSE)},
  venue = {ICSE NIER},
  month        = {June},
  date         = {2--9},
  doi          = {10.1109/ICSE.2012.6227082 },
  accept       = {$\frac{26}{147} \approx 18\%$},

  note = {\href{http://dx.doi.org/10.1109/ICSE.2012.6227082}{DOI:
  10.1109/ICSE.2012.6227082}},

  abstract = {Modern integrated development environments (IDEs) offer
  recommendations to aid development, such as auto-completions, refactorings,
  and fixes for compilation errors. Recommendations for each code location are
  typically computed independently of the other locations. We propose that an
  IDE should consider the whole codebase, not just the local context, before
  offering recommendations for a particular location. We demonstrate the
  potential benefits of our technique by presenting four concrete scenarios in
  which the Eclipse IDE fails to provide proper Quick Fixes at relevant
  locations, even though it offers those fixes at other locations. We describe
  a technique that can augment an existing IDE's recommendations to account
  for non-local information. For example, when some compilation errors depend
  on others, our technique helps the developer decide which errors to resolve
  first.},
}