skip to main content
10.1145/1806799.1806828acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Using information fragments to answer the questions developers ask

Published:01 May 2010Publication History

ABSTRACT

Each day, a software developer needs to answer a variety of questions that require the integration of different kinds of project information. Currently, answering these questions, such as "What have my co-workers been doing?", is tedious, and sometimes impossible, because the only support available requires the developer to manually link and traverse the information step-by-step. Through interviews with eleven professional developers, we identified 78 questions developers want to ask, but for which support is lacking. We introduce an information fragment model (and prototype tool) that automates the composition of different kinds of information and that allows developers to easily choose how to display the composed information. In a study, 18 professional developers used the prototype tool to answer eight of the 78 questions. All developers were able to easily use the prototype to successfully answer 94% of questions in a mean time of 2.3 minutes per question.

References

  1. H. Chan, K. Siau, and K.-K. Wei. The effect of data model, system and task characteristics on user query performance: an empirical study. SIGMIS Database, pages 31--49, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. D. H. Chau, B. Myers, and A. Faulring. What to do when search fails: finding information by association. In Proc. of CHI '08, pages 999--1008, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. B. de Alwis and G. C. Murphy. Answering conceptual queries with ferret. In Proc. of ICSE'08, pages 21--30, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. T. Fritz and G. C. Murphy. Search, stitch, view: Easing information integration in an IDE. In SUITE'09, pages 9--12, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. E. Hajiyev, M. Verbaere, and O. de Moor. Codequest: Scalable source code queries with datalog. In Proc. of ECOOP'06, pages 2--27, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. R. Holmes and A. Begel. Deep intellisense: a tool for rehydrating evaporated information. In Proc. of MSR'08, pages 23--26, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. D. Janzen and K. D. Volder. Navigating and querying code without getting lost. In Proc. of AOSD'03, pages 178--187, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. C. Kiefer, A. Bernstein, and J. Tappolet. Mining software repositories with isparql and a software evolution ontology. In ICSEW '07, page 10, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. A. J. Ko, R. DeLine, and G. Venolia. Information needs in collocated software development teams. In Proc. of ICSE'07, pages 344--353, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. T. D. LaToza, G. Venolia, and R. DeLine. Maintaining mental models: a study of developer work habits. In Proc. of ICSE'06, pages 492--501, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. M. A. Linton. Implementing relational views of programs. In Proc. of SDE 1, pages 132--140, 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. S. Paul and A. Prakash. A query algebra for program databases. IEEE Trans. Softw. Eng., pages 202--217, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. D. Quan, D. Huynh, and D. R. Karger. Haystack: A platform for authoring end user semantic web applications. In Proc. of ISWC'03, pages 738--753, 2003.Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. J. Sillito, G. C. Murphy, and K. D. Volder. Questions programmers ask during software evolution tasks. In Proc. of FSE'06, pages 23--34, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. D. Čubranić, G. C. Murphy, J. Singer, and K. S. Booth. Hipikat: A project memory for software development. IEEE Trans. Softw. Eng., pages 446--465, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Y. Ye, Y. Yamamoto, and K. Nakakoji. A socio-technical framework for supporting programmers. In Proc. of ESEC-FSE'07, pages 351--360, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library

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
    ICSE '10: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
    May 2010
    627 pages
    ISBN:9781605587196
    DOI:10.1145/1806799

    Copyright © 2010 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: 1 May 2010

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • research-article

    Acceptance Rates

    Overall Acceptance Rate276of1,856submissions,15%

    Upcoming Conference

    ICSE 2025

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader