[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3275219.3275227acmotherconferencesArticle/Chapter ViewAbstractPublication PagesinternetwareConference Proceedingsconference-collections
research-article

Searching StackOverflow Questions with Multi-Faceted Categorization

Published: 16 September 2018 Publication History

Abstract

StackOverflow provides answers for a huge number of software development questions that are frequently encountered by developers. However, searching relevant questions in StackOverflow is not always easy using the keyword based search engine provided by StackOverflow. A software development question can be characterized by multiple attributes, such as, its concern (e.g., configuration problem, error handling, sample code, etc.), programming language, operating system, and involved middleware, framework, library and software technology. We propose a multi-faceted and interactive approach for searching StackOverflow questions (called MFISSO), which leverages these attributes of the questions. Our approach starts with an initial keyword-based query and extracts a multifaceted categorization from all the candidate questions using natural language processing and data mining. It then allows developers to iteratively refine the search results through an interactive process. We evaluated an implementation of MFISSO in a controlled experiments with 20 computing students, solving ten software development tasks using StackOverflow. The experiment shows that MFISSO can help developers find relevant questions faster and with higher accuracy.

References

[1]
2018. MFISSO Replication Package. http://www.se.fudan.edu.cn/research/SOSearch
[2]
Anton Barua, Stephen W. Thomas, and Ahmed E. Hassan. 2014. What are developers talking about? An analysis of topics and trends in Stack Overflow. Empirical Software Engineering 19, 3 (2014), 619--654.
[3]
Blerina Bazelli, Abram Hindle, and Eleni Stroulia. 2013. On the Personality Traits of StackOverflow Users. In 2013 IEEE International Conference on Software Maintenance. 460--463.
[4]
David M. Blei, Andrew Y. Ng, and Michael I. Jordan. 2003. Latent Dirichlet Allocation. Journal of Machine Learning Research 3 (2003), 993--1022.
[5]
Jane Cleland-Huang, Olly Gotel, and Andrea Zisman (Eds.). 2012. Software and Systems Traceability.
[6]
Bogdan Dit, Meghan Revelle, Malcom Gethers, and Denys Poshyvanyk. 2013. Feature location in source code: a taxonomy and survey. Journal of Software: Evolution and Process 25, 1 (2013), 53--95.
[7]
Bernhard Ganter, Gerd Stumme, and Rudolf Wille. 2005. Formal concept analysis: foundations and applications. Vol. 3626.
[8]
Latifa Guerrouj, David Bourque, and Peter C. Rigby. 2015. Leveraging Informal Documentation to Summarize Classes and Methods in Context. In 37th IEEE/ACM International Conference on Software Engineering. 639--642.
[9]
Marti A. Hearst. 2006. Clustering versus faceted categories for information exploration. Commun. ACM 49, 4 (2006), 59--61.
[10]
Hongwei Li, Xuejiao Zhao, Zhenchang Xing, Lingfeng Bao, Xin Peng, Dongjing Gao, and Wenyun Zhao. 2015. amAssist: In-IDE ambient search of online programming resources. In 22nd IEEE International Conference on Software Analysis, Evolution, and Reengineering. 390--398.
[11]
Andrian Marcus and Sonia Haiduc. 2011. Text Retrieval Approaches for Concept Location in Source Code. In Software Engineering - International Summer Schools. 126--158.
[12]
Collin McMillan, Denys Poshyvanyk, Mark Grechanik, Qing Xie, and Chen Fu. 2013. Portfolio: Searching for relevant functions and their usages in millions of lines of code. ACM Trans. Softw. Eng. Methodol. 22, 4 (2013), 37:1--37:30.
[13]
George Miller. 1998. WordNet: An electronic lexical database. MIT press.
[14]
Seyed Mehdi Nasehi, Jonathan Sillito, Frank Maurer, and Chris Burns. 2012. What makes a good code example?: A study of programming Q&A in StackOverflow. In 28th IEEE International Conference on Software Maintenance. 25--34.
[15]
Luca Ponzanelli, Gabriele Bavota, Massimiliano Di Penta, Rocco Oliveto, and Michele Lanza. 2014. Mining StackOverflow to turn the IDE into a self-confident programming prompter. In 11th Working Conference on Mining Software Repositories. 102--111.
[16]
Denys Poshyvanyk, Malcom Gethers, and Andrian Marcus. 2012. Concept location using formal concept analysis and information retrieval. ACM Trans. Softw. Eng. Methodol. 21, 4 (2012), 23:1--23:34.
[17]
Denys Poshyvanyk, Yann-Gaël Guéhéneuc, Andrian Marcus, Giuliano Antoniol, and Václav Rajlich. 2007. Feature Location Using Probabilistic Ranking of Methods Based on Execution Scenarios and Information Retrieval. IEEE Trans. Software Eng. 33, 6 (2007), 420--432.
[18]
Denys Poshyvanyk and Andrian Marcus. 2007. Combining Formal Concept Analysis with Information Retrieval for Concept Location in Source Code. In 15th International Conference on Program Comprehension. 37--48.
[19]
Mohammad Masudur Rahman, Shamima Yeasmin, and Chanchal K. Roy. 2014. Towards a context-aware IDE-based meta search engine for recommendation about programming errors and exceptions. In 2014 Software Evolution Week - IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering. 194--203.
[20]
Jinshui Wang, Xin Peng, Zhenchang Xing, and Wenyun Zhao. 2013. Improving feature location practice with multi-faceted interactive exploration. In 35th International Conference on Software Engineering. 762--771.
[21]
Shaowei Wang, David Lo, and Lingxiao Jiang. 2013. An empirical study on developer interactions in StackOverflow. In Proceedings of the 28th Annual ACM Symposium on Applied Computing. 1019--1024.
[22]
Wei Wang, Haroon Malik, and Michael W. Godfrey. 2015. Recommending Posts concerning API Issues in Developer Q&A Sites. In 12th IEEE/ACM Working Conference on Mining Software Repositories. 224--234.

Cited By

View all
  • (2023)KG4CraSolver: Recommending Crash Solutions via Knowledge GraphProceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3611643.3616317(1242-1254)Online publication date: 30-Nov-2023
  • (2023)Knowledge Graph based Explainable Question Retrieval for Programming Tasks2023 IEEE International Conference on Software Maintenance and Evolution (ICSME)10.1109/ICSME58846.2023.00023(123-135)Online publication date: 1-Oct-2023
  • (2023)CodeGen4Libs: A Two-Stage Approach for Library-Oriented Code Generation2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE)10.1109/ASE56229.2023.00159(434-445)Online publication date: 11-Sep-2023
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
Internetware '18: Proceedings of the 10th Asia-Pacific Symposium on Internetware
September 2018
167 pages
ISBN:9781450365901
DOI:10.1145/3275219
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]

In-Cooperation

  • Institute of Software, Chinese Academy of Sciences
  • CCF: China Computer Federation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 16 September 2018

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Information Retrieval
  2. Multi-faceted Categorization
  3. StackOverflow

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

Internetware '18

Acceptance Rates

Internetware '18 Paper Acceptance Rate 20 of 26 submissions, 77%;
Overall Acceptance Rate 55 of 111 submissions, 50%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

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

Other Metrics

Citations

Cited By

View all
  • (2023)KG4CraSolver: Recommending Crash Solutions via Knowledge GraphProceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3611643.3616317(1242-1254)Online publication date: 30-Nov-2023
  • (2023)Knowledge Graph based Explainable Question Retrieval for Programming Tasks2023 IEEE International Conference on Software Maintenance and Evolution (ICSME)10.1109/ICSME58846.2023.00023(123-135)Online publication date: 1-Oct-2023
  • (2023)CodeGen4Libs: A Two-Stage Approach for Library-Oriented Code Generation2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE)10.1109/ASE56229.2023.00159(434-445)Online publication date: 11-Sep-2023
  • (2023)MUSE: A Multi-Feature Semantic Fusion Method for ROS Node Search Based on Knowledge Graph2023 30th Asia-Pacific Software Engineering Conference (APSEC)10.1109/APSEC60848.2023.00037(269-278)Online publication date: 4-Dec-2023
  • (2023)Learning Software Project Management From Analyzing Q&A’s in the Stack ExchangeIEEE Access10.1109/ACCESS.2023.323595311(5429-5441)Online publication date: 2023
  • (2022)Research on internetware: Review and prospectChinese Science Bulletin10.1360/TB-2022-058567:32(3782-3792)Online publication date: 21-Jul-2022
  • (2022)How to formulate specific how-to questions in software development?Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3540250.3549160(306-318)Online publication date: 7-Nov-2022
  • (2022)Debugging with stack overflowProceedings of the ACM/IEEE 44th International Conference on Software Engineering: Software Engineering Education and Training10.1145/3510456.3514147(69-81)Online publication date: 21-May-2022
  • (2022)Debugging with Stack Overflow: Web Search Behavior in Novice and Expert Programmers2022 IEEE/ACM 44th International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET)10.1109/ICSE-SEET55299.2022.9794240(69-81)Online publication date: May-2022
  • (2021)Supporting Named Entity Recognition and Document Classification for Effective Text RetrievalThe Role of Gamification in Software Development Lifecycle10.5772/intechopen.95076Online publication date: 1-Sep-2021

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