Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/2597073.2597095acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
Article

A dictionary to translate change tasks to source code

Published: 31 May 2014 Publication History

Abstract

At the beginning of a change task, software developers spend a substantial amount of their time searching and navigating to locate relevant parts in the source code. Current approaches to support developers in this initial code search predominantly use information retrieval techniques that leverage the similarity between task descriptions and the identifiers of code elements to recommend relevant elements. However, the vocabulary or language used in source code often differs from the one used for describing change tasks, especially since the people developing the code are not the same as the ones reporting bugs or defining new features to be implemented. In our work, we investigate the creation of a dictionary that maps the different vocabularies using information from change sets and interaction histories stored with previously completed tasks. In an empirical analysis on four open source projects, our approach substantially improved upon the results of traditional information retrieval techniques for recommending relevant code elements.

References

[1]
bitbucket.org/kkevic/datasets-nl-src-dictionary/ downloads.
[2]
bugs.eclipse.org/bugs/.
[3]
lucene.apache.org/core/index.html.
[4]
www.eclipse.org/mylyn/.
[5]
G. Antoniol and Y.-G. Guéhéneuc. Feature identification: a novel approach and a case study. In ICSM, pages 357–366, 2005.
[6]
R. DeLine, M. Czerwinski, and G. Robertson. Easing program comprehension by sharing navigation data. In IEEE Symp. Visual Languages and Human-Centric Computing, pages 241–248, 2005.
[7]
B. Dit, M. Revelle, M. Gethers, and D. Poshyvanyk. Feature location in source code: a taxonomy and survey. Jour. of Softw.: Evolution and Process, 25(1):53–95, 2013.
[8]
T. Eisenbarth, R. Koschke, and D. Simon. Locating features in source code. IEEE Trans. Softw. Eng., 29(3):210–224, 2003.
[9]
W. Eric Wong, S. S. Gokhale, and J. R. Horgan. Quantifying the closeness between program components and features. Jour. of Sys. and Softw., 54(2):87–98, 2000.
[10]
B. Fluri, M. Würsch, M. Pinzger, and H. Gall. Change distilling: Tree differencing for fine-grained source code change extraction. IEEE Trans. Softw. Eng., 33(11):725–743, 2007.
[11]
G. W. Furnas, T. K. Landauer, L. M. Gomez, and S. T. Dumais. The vocabulary problem in human-system communication. Comm. ACM, 30(11):964–971, Nov. 1987.
[12]
S. Haiduc, G. Bavota, A. Marcus, R. Oliveto, A. De Lucia, and T. Menzies. Automatic query reformulations for text retrieval in software engineering. In ICSE, pages 842–851, 2013.
[13]
A. Hindle, E. T. Barr, Z. Su, M. Gabel, and P. Devanbu. On the naturalness of software. In ICSE, pages 837–847, 2012.
[14]
M. Kersten and G. C. Murphy. Using task context to improve programmer productivity. In FSE, pages 1–11, 2006.
[15]
A. Marcus, A. Sergeyev, V. Rajlich, and J. I. Maletic. An information retrieval approach to concept location in source code. In WCRE, pages 214–223, 2004.
[16]
L. Moreno, W. Bandara, S. Haiduc, and A. Marcus. On the relationship between the vocabulary of bug reports and source code. In ICMS, pages 452–455, 2013.
[17]
G. Salton and M. J. McGill. Introduction to Modern Information Retrieval. McGraw-Hill, Inc., 1986.
[18]
T. Savage, M. Revelle, and D. Poshyvanyk. Flat3: Feature location and textual tracing tool. In ICSE, pages 255–258, 2010.
[19]
G. Sridhara, E. Hill, L. Pollock, and K. Vijay-Shanker. Identifying word relations in software: A comparative study of semantic similarity tools. In ICPC, pages 123–132, 2008.
[20]
J. Starke, C. Luce, and J. Sillito. Searching and skimming: An exploratory study. In ICSM, pages 157–166, 2009.
[21]
N. Wilde, J. A. Gomez, T. Gust, and D. Strasburg. Locating user functionality in old code. In Proc. Conf. Softw. Maintenance, pages 200–205, 1992.
[22]
J. Zhou, H. Zhang, and D. Lo. Where should the bugs be fixed? - more accurate information retrieval-based bug localization based on bug reports. In ICSE, pages 14–24, 2012.
[23]
T. Zimmermann, A. Zeller, P. Weissgerber, and S. Diehl. Mining version histories to guide software changes. IEEE Trans. Softw. Eng., 31(6):429–445, 2005.

Cited By

View all
  • (2023)A Systematic Review of Automated Query Reformulations in Source Code SearchACM Transactions on Software Engineering and Methodology10.1145/360717932:6(1-79)Online publication date: 4-Jul-2023
  • (2021)The forgotten role of search queries in IR-based bug localization: an empirical studyEmpirical Software Engineering10.1007/s10664-021-10022-426:6Online publication date: 23-Aug-2021
  • (2019)Supporting code search with context-aware, analytics-driven, effective query reformulationProceedings of the 41st International Conference on Software Engineering: Companion Proceedings10.1109/ICSE-Companion.2019.00088(226-229)Online publication date: 25-May-2019
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
MSR 2014: Proceedings of the 11th Working Conference on Mining Software Repositories
May 2014
427 pages
ISBN:9781450328630
DOI:10.1145/2597073
  • General Chair:
  • Premkumar Devanbu,
  • Program Chairs:
  • Sung Kim,
  • Martin Pinzger
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 the author(s) 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].

Sponsors

In-Cooperation

  • TCSE: IEEE Computer Society's Tech. Council on Software Engin.

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 31 May 2014

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Dictionary
  2. change task
  3. interaction history
  4. location

Qualifiers

  • Article

Conference

ICSE '14
Sponsor:

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)6
  • Downloads (Last 6 weeks)1
Reflects downloads up to 17 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2023)A Systematic Review of Automated Query Reformulations in Source Code SearchACM Transactions on Software Engineering and Methodology10.1145/360717932:6(1-79)Online publication date: 4-Jul-2023
  • (2021)The forgotten role of search queries in IR-based bug localization: an empirical studyEmpirical Software Engineering10.1007/s10664-021-10022-426:6Online publication date: 23-Aug-2021
  • (2019)Supporting code search with context-aware, analytics-driven, effective query reformulationProceedings of the 41st International Conference on Software Engineering: Companion Proceedings10.1109/ICSE-Companion.2019.00088(226-229)Online publication date: 25-May-2019
  • (2019)Automatic query reformulation for code search using crowdsourced knowledgeEmpirical Software Engineering10.1007/s10664-018-9671-024:4(1869-1924)Online publication date: 1-Aug-2019
  • (2018)Effective Reformulation of Query for Code Search Using Crowdsourced Knowledge and Extra-Large Data Analytics2018 IEEE International Conference on Software Maintenance and Evolution (ICSME)10.1109/ICSME.2018.00057(473-484)Online publication date: Sep-2018
  • (2017)Improved query reformulation for concept location using CodeRank and document structuresProceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering10.5555/3155562.3155618(428-439)Online publication date: 30-Oct-2017
  • (2017)STRICT: Information retrieval based search term identification for concept location2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER)10.1109/SANER.2017.7884611(79-90)Online publication date: Feb-2017
  • (2017)Improved query reformulation for concept location using CodeRank and document structures2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE)10.1109/ASE.2017.8115655(428-439)Online publication date: Oct-2017
  • (2017)Eye gaze and interaction contexts for change tasks Observations and potentialJournal of Systems and Software10.1016/j.jss.2016.03.030128:C(252-266)Online publication date: 1-Jun-2017
  • (2017)A historical, textual analysis approach to feature locationInformation and Software Technology10.1016/j.infsof.2017.04.00388:C(110-126)Online publication date: 1-Aug-2017
  • Show More Cited By

View Options

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