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

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

Moldable, context-aware searching with Spotter

Published: 20 October 2016 Publication History

Abstract

Software systems involve many different kinds of domain-specific and interrelated software entities. A common strategy employed by developers to deal with this reality is to perform exploratory investigations by means of searching. Nevertheless, most integrated development environments (IDEs) support searching through generic and disconnected search tools. This impedes search tasks over domain-specific entities, as considerable effort is wasted by developers locating and linking data and concepts relevant to their application domains.
To tackle this problem we propose Spotter, a moldable framework for supporting contextual-aware searching in IDEs by enabling developers to easily create custom searches for domain objects. In this paper we motivate a set of requirements for Spotter and show, through usage scenarios, that Spotter improves program comprehension by reducing the effort required to find and search through concepts from a wide range of domains. Furthermore, we show that by taking code into account, Spotter can provide a single entry point for embedding search support within an IDE.

References

[1]
V. P. Araya, A. Bergel, D. Cassou, S. Ducasse, and J. Laval. Agile visualization with Roassal. In Deep Into Pharo, pages 209–239. Square Bracket Associates, Sept. 2013.
[2]
F. Beck, B. Dit, J. Velasco-Madden, D. Weiskopf, and D. Poshyvanyk. Rethinking user interfaces for feature location. In Proceedings of the 2015 IEEE 23rd International Conference on Program Comprehension, ICPC ’15, pages 151–162, Piscataway, NJ, USA, 2015. IEEE Press.
[3]
A. Chis¸, M. Denker, T. Gˆırba, and O. Nierstrasz. Practical domain-specific debuggers using the Moldable Debugger framework. Computer Languages, Systems & Structures, 44, Part A:89–113, 2015. Special issue on the 6th and 7th International Conference on Software Language Engineering (SLE 2013 and SLE 2014).
[4]
A. Chis¸, T. Gˆırba, O. Nierstrasz, and A. Syrel. The Moldable Inspector. In Proceedings of the 2015 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, Onward! 2015, pages 44–60, New York, NY, USA, 2015. ACM.
[5]
B. de Alwis and G. C. Murphy. Answering conceptual queries with Ferret. In Proceedings of the 30th International Conference on Software Engineering (ICSE), pages 21–30, New York, NY, USA, 2008. ACM.
[6]
B. Dit, M. Revelle, M. Gethers, and D. Poshyvanyk. Feature location in source code: a taxonomy and survey. Journal of Software: Evolution and Process, pages n/a–n/a, 2012.
[7]
M. Eichberg and T. Schäfer. Xirc: Cross-artifact information retrieval {gpce}. In Companion to the 19th Annual ACM SIGPLAN Conference on Object-oriented Programming Systems, Languages, and Applications, OOPSLA ’04, pages 43– 44, New York, NY, USA, 2004. ACM.
[8]
D. S. Eisenberg, J. Stylos, and B. A. Myers. Apatite: A new interface for exploring APIs. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, CHI ’10, pages 1331–1334, New York, NY, USA, 2010. ACM.
[9]
T. Fritz, D. C. Shepherd, K. Kevic, W. Snipes, and C. Bräunlich. Developers’ code context models for change tasks. In Proceedings of the 22Nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, FSE 2014, pages 7–18, New York, NY, USA, 2014. ACM.
[10]
D. Janzen and K. de Volder. Navigating and querying code without getting lost. In AOSD’03: Proceedings of the 2nd International Conference on Aspect-oriented Software Development, pages 178–187, New York, NY, USA, 2003. ACM.
[11]
A. Ko, B. Myers, M. Coblenz, and H. Aung. An exploratory study of how developers seek, relate, and collect relevant information during software maintenance tasks. Software Engineering, IEEE Transactions on, 32(12):971 –987, Dec. 2006.
[12]
J. Kubelka, A. Bergel, A. Chis¸, T. Gˆırba, S. Reichhart, R. Robbes, and A. Syrel. On understanding how developers use the Spotter search tool. In Proceedings of 3rd IEEE Working Conference on Software Visualization - New Ideas and Emerging Results, VISSOFT-NIER’15, pages 145–149. IEEE, Sept. 2015.
[13]
D. C. Littman, J. Pinto, S. Letovsky, and E. Soloway. Mental models and software maintenance. J. Syst. Softw., 7(4):341– 355, Dec. 1987.
[14]
G. C. Murphy, M. Kersten, M. P. Robillard, and D. ˇ Cubrani´c. The emergent structure of development tasks. In Proceedings of the 19th European Conference on Object-Oriented Programming, ECOOP’05, pages 33–48, Berlin, Heidelberg, 2005. Springer-Verlag.
[15]
E. Murphy-Hill, R. Jiresal, and G. C. Murphy. Improving software developers’ fluency by recommending development environment commands. In Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering, FSE ’12, pages 42:1–42:11, New York, NY, USA, 2012. ACM.
[16]
O. Nierstrasz, S. Ducasse, and T. Gˆırba. The story of Moose: an agile reengineering environment. In Proceedings of the European Software Engineering Conference (ESEC/FSE’05), pages 1–10, New York, NY, USA, Sept. 2005. ACM Press.
[17]
Invited paper.
[18]
M. Petrenko, V. Rajlich, and R. Vanciu. Partial domain comprehension in software evolution and maintenance. In The 16th IEEE Int’l Conf. on Program Comprehension, pages 13– 22. IEEE, June 2008.
[19]
P. Pirolli and S. Card. The sensemaking process and leverage points for analyst technology as identified through cognitive task analysis. In Proceedings of International Conference on Intelligence Analysis, pages 2–4, 2005.
[20]
V. Rajlich and N. Wilde. The role of concepts in program comprehension. In Proceedings of the 10th International Workshop on Program Comprehension, IWPC ’02, pages 271–, Washington, DC, USA, 2002. IEEE Computer Society.
[21]
L. Renggli, S. Ducasse, T. Gˆırba, and O. Nierstrasz. Practical dynamic grammars for dynamic languages. In 4th Workshop on Dynamic Languages and Applications (DYLA 2010), pages 1–4, Malaga, Spain, June 2010.
[22]
M. P. Robillard, W. Coelho, and G. C. Murphy. How effective developers investigate source code: An exploratory study. IEEE Trans. Softw. Eng., 30(12):889–903, Dec. 2004.
[23]
S. Robitaille, R. Schauer, and R. Keller. Bridging program comprehension tools by design navigation. In Software Maintenance, 2000. Proceedings. International Conference on, pages 22–32, 2000.
[24]
T. Schafer, M. Eichberg, M. Haupt, and M. Mezini. The SEXTANT software exploration tool. IEEE Trans. Softw. Eng., 32(9):753–768, Sept. 2006.
[25]
D. Shepherd, K. Damevski, B. Ropski, and T. Fritz. Sando: An extensible local code search framework. In Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering, FSE ’12, pages 15:1– 15:2, New York, NY, USA, 2012. ACM.
[26]
J. Sillito, G. C. Murphy, and K. De Volder. Asking and answering questions during a programming change task. IEEE Trans. Softw. Eng., 34:434–451, July 2008.
[27]
B. Spasojevi´c, M. Lungu, and O. Nierstrasz. Overthrowing the tyranny of alphabetical ordering in documentation systems. In 2014 IEEE International Conference on Software Maintenance and Evolution (ERA Track), pages 511–515, Sept. 2014.
[28]
J. Starke, C. Luce, and J. Sillito. Searching and skimming: An exploratory study. In Software Maintenance, 2009. ICSM 2009. IEEE International Conference on, pages 157–166, Sept. 2009.

Cited By

View all
  • (2017)RuntimeSearch: Ctrl+F for a running programProceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering10.5555/3155562.3155613(388-393)Online publication date: 30-Oct-2017
  • (2017)Towards a live, moldable code editorCompanion Proceedings of the 1st International Conference on the Art, Science, and Engineering of Programming10.1145/3079368.3079376(1-3)Online publication date: 3-Apr-2017
  • (2017)RuntimeSearch: Ctrl+F for a running program2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE)10.1109/ASE.2017.8115651(388-393)Online publication date: Oct-2017

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
Onward! 2016: Proceedings of the 2016 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software
October 2016
268 pages
ISBN:9781450340762
DOI:10.1145/2986012
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

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 20 October 2016

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. IDEs
  2. integration
  3. navigation
  4. search

Qualifiers

  • Research-article

Funding Sources

Conference

SPLASH '16
Sponsor:

Acceptance Rates

Overall Acceptance Rate 40 of 105 submissions, 38%

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 27 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2017)RuntimeSearch: Ctrl+F for a running programProceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering10.5555/3155562.3155613(388-393)Online publication date: 30-Oct-2017
  • (2017)Towards a live, moldable code editorCompanion Proceedings of the 1st International Conference on the Art, Science, and Engineering of Programming10.1145/3079368.3079376(1-3)Online publication date: 3-Apr-2017
  • (2017)RuntimeSearch: Ctrl+F for a running program2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE)10.1109/ASE.2017.8115651(388-393)Online publication date: Oct-2017

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media