Open Access. Powered by Scholars. Published by Universities.®
- Discipline
- Institution
- Publication
- Publication Type
Articles 1 - 25 of 25
Full-Text Articles in Software Engineering
Are We Ready To Embrace Generative Ai For Software Q&A?, Bowen Xu, Thanh-Dat Nguyen, Thanh Le-Cong, Thong Hoang, Jiakun Liu, Kisub Kim, Chen Gong, Changan Niu, Chenyu Wang, David Lo, David Lo
Are We Ready To Embrace Generative Ai For Software Q&A?, Bowen Xu, Thanh-Dat Nguyen, Thanh Le-Cong, Thong Hoang, Jiakun Liu, Kisub Kim, Chen Gong, Changan Niu, Chenyu Wang, David Lo, David Lo
Research Collection School Of Computing and Information Systems
Stack Overflow, the world's largest software Q&A (SQA) website, is facing a significant traffic drop due to the emergence of generative AI techniques. ChatGPT is banned by Stack Overflow after only 6 days from its release. The main reason provided by the official Stack Overflow is that the answers generated by ChatGPT are of low quality. To verify this, we conduct a comparative evaluation of human-written and ChatGPT-generated answers. Our methodology employs both automatic comparison and a manual study. Our results suggest that human-written and ChatGPT-generated answers are semantically similar, however, human-written answers outperform ChatGPT-generated ones consistently across multiple aspects, …
Understanding The Role Of Images On Stack Overflow, Dong Wang, Tao Xiao, Christoph Treude, Raula Kula, Hideaki Hata, Yasutaka Kamei
Understanding The Role Of Images On Stack Overflow, Dong Wang, Tao Xiao, Christoph Treude, Raula Kula, Hideaki Hata, Yasutaka Kamei
Research Collection School Of Computing and Information Systems
Images are increasingly being shared by software developers in diverse channels including question-and-answer forums like Stack Overflow. Although prior work has pointed out that these images are meaningful and provide complementary information compared to their associated text, how images are used to support questions is empirically unknown. To address this knowledge gap, in this paper we specifically conduct an empirical study to investigate (I) the characteristics of images, (II) the extent to which images are used in different question types, and (III) the role of images on receiving answers. Our results first show that user interface is the most common …
Web Apis: Features, Issues, And Expectations: A Large-Scale Empirical Study Of Web Apis From Two Publicly Accessible Registries Using Stack Overflow And A User Survey, Neng Zhang, Ying Zou, Xin Xia, David Lo, David Lo, Shanping Li
Web Apis: Features, Issues, And Expectations: A Large-Scale Empirical Study Of Web Apis From Two Publicly Accessible Registries Using Stack Overflow And A User Survey, Neng Zhang, Ying Zou, Xin Xia, David Lo, David Lo, Shanping Li
Research Collection School Of Computing and Information Systems
With the increasing adoption of services-oriented computing and cloud computing technologies, web APIs have become the fundamental building blocks for constructing software applications. Web APIs are developed and published on the internet. The functionality of web APIs can be used to facilitate the development of software applications. There are numerous studies on retrieving and recommending candidate web APIs based on user requirements from a large set of web APIs. However, there are very limited studies on the features of web APIs that make them more likely to be used and the issues of using web APIs in practice. Moreover, users' …
How To Formulate Specific How-To Questions In Software Development?, Mingwei Liu, Xin Peng, Andrian Marcus, Christoph Treude, Jiazhan Xie, Huanjun Xu, Yanjun Yang
How To Formulate Specific How-To Questions In Software Development?, Mingwei Liu, Xin Peng, Andrian Marcus, Christoph Treude, Jiazhan Xie, Huanjun Xu, Yanjun Yang
Research Collection School Of Computing and Information Systems
Developers often ask how-to questions using search engines, technical Q&A communities, and interactive Q&A systems to seek help for specific programming tasks. However, they often do not formulate the questions in a specific way, making it hard for the systems to return the best answers. We propose an approach (TaskKG4Q) that interactively helps developers formulate a programming related how-to question. TaskKG4Q is using a programming task knowledge graph (task KG in short) mined from Stack Overflow questions, which provides a hierarchical conceptual structure for tasks in terms of [actions], [objects], and [constraints]. An empirical evaluation of the intrinsic quality of …
Api-Related Developer Information Needs In Stack Overflow, Mingwei Liu, Xin Peng, Andrian Marcus, Shuangshuang Xing, Christoph Treude, Chengyuan Zhao
Api-Related Developer Information Needs In Stack Overflow, Mingwei Liu, Xin Peng, Andrian Marcus, Shuangshuang Xing, Christoph Treude, Chengyuan Zhao
Research Collection School Of Computing and Information Systems
Stack Overflow (SO) provides informal documentation for APIs in response to questions that express API related developer needs. Navigating the information available on SO and getting information related to a particular API and need is challenging due to the vast amount of questions and answers and the tag-driven structure of SO. In this paper we focus on identifying and classifying fine-grained developer needs expressed in sentences of API-related SO questions, as well as the specific information types used to express such needs, and the different roles APIs play in these questions and their answers. We derive a taxonomy, complementing existing …
Does This Apply To Me? An Empirical Study Of Technical Context In Stack Overflow, Akalanka Galappaththi, Sarah Nadi, Christoph Treude
Does This Apply To Me? An Empirical Study Of Technical Context In Stack Overflow, Akalanka Galappaththi, Sarah Nadi, Christoph Treude
Research Collection School Of Computing and Information Systems
Stack Overflow has become an essential technical resource for developers. However, given the vast amount of knowledge available on Stack Overflow, finding the right information that is relevant for a given task is still challenging, especially when a developer is looking for a solution that applies to their specific requirements or technology stack. Clearly marking answers with their technical context, i.e., the information that characterizes the technologies and assumptions needed for this answer, is potentially one way to improve navigation. However, there is no information about how often such context is mentioned, and what kind of information it might offer. …
Chatbot4qr: Interactive Query Refinement For Technical Question Retrieval, Neng Zhang, Qiao Huang, Xin Xia, Ying Zou, David Lo, Zhenchang Xing
Chatbot4qr: Interactive Query Refinement For Technical Question Retrieval, Neng Zhang, Qiao Huang, Xin Xia, Ying Zou, David Lo, Zhenchang Xing
Research Collection School Of Computing and Information Systems
Technical Q&A sites (e.g., Stack Overflow(SO)) are important resources for developers to search for knowledge about technical problems. Search engines provided in Q&A sites and information retrieval approaches have limited capabilities to retrieve relevant questions when queries are imprecisely specified, such as missing important technical details (e.g., the user's preferred programming languages). Although many automatic query expansion approaches have been proposed to improve the quality of queries by expanding queries with relevant terms, the information missed is not identified. Moreover, without user involvement, the existing query expansion approaches may introduce unexpected terms and lead to undesired results. In this paper, …
Broken External Links On Stack Overflow, Jiakun Liu, Xin Xia, David Lo, Haoxiang Zhang, Ying Zou, Ahmed E. Hassan, Shanping Li
Broken External Links On Stack Overflow, Jiakun Liu, Xin Xia, David Lo, Haoxiang Zhang, Ying Zou, Ahmed E. Hassan, Shanping Li
Research Collection School Of Computing and Information Systems
Stack Overflow hosts valuable programming-related knowledge with 11,926,354 links that reference to the third-party websites. The links that reference to the resources hosted outside the Stack Overflow websites extend the Stack Overflow knowledge base substantially. However, with the rapid development of programming-related knowledge, many resources hosted on the Internet are not available anymore. Based on our analysis of the Stack Overflow data that was released on Jun. 2, 2019, 14.2 percent of the links on Stack Overflow are broken links. The broken links on Stack Overflow can obstruct viewers from obtaining desired programming-related knowledge, and potentially damage the reputation of …
Contextual Documentation Referencing On Stack Overflow, Sebastian Baltes, Christoph Treude, Martin P. Robillard
Contextual Documentation Referencing On Stack Overflow, Sebastian Baltes, Christoph Treude, Martin P. Robillard
Research Collection School Of Computing and Information Systems
Software engineering is knowledge-intensive and requires software developers to continually search for knowledge, often on community question answering platforms such as Stack Overflow. Such information sharing platforms do not exist in isolation, and part of the evidence that they exist in a broader software documentation ecosystem is the common presence of hyperlinks to other documentation resources found in forum posts. With the goal of helping to improve the information diffusion between Stack Overflow and other documentation resources, we conducted a study to answer the question of how and why documentation is referenced in Stack Overflow threads. We sampled and classified …
Contrasting Third-Party Package Management User Experience, Syful Islam, Raula Kula, Christoph Treude, Takashi Ishio, Kenichi Matsumoto
Contrasting Third-Party Package Management User Experience, Syful Islam, Raula Kula, Christoph Treude, Takashi Ishio, Kenichi Matsumoto
Research Collection School Of Computing and Information Systems
The management of third-party package dependencies is crucial to most technology stacks, with package managers acting as brokers to ensure that a verified package is correctly installed, configured, or removed from an application. Diversity in technology stacks has led to dozens of package ecosystems with their own management features. While recent studies have shown that developers struggle to migrate their dependencies, the common assumption is that package ecosystems are used without any issue. In this study, we explore 13 package ecosystems to understand whether their features correlate with the experience of their users. By studying experience through the questions that …
Code2que: A Tool For Improving Question Titles From Mined Code Snippets In Stack Overflow, Zhipeng Gao, Xin Xia, David Lo, John C. Grundy, Yuan-Fang Li
Code2que: A Tool For Improving Question Titles From Mined Code Snippets In Stack Overflow, Zhipeng Gao, Xin Xia, David Lo, John C. Grundy, Yuan-Fang Li
Research Collection School Of Computing and Information Systems
Stack Overflow is one of the most popular technical Q&A sites used by software developers. Seeking help from Stack Overflow has become an essential part of software developers' daily work for solving programming-related questions. Although the Stack Overflow community has provided quality assurance guidelines to help users write better questions, we observed that a significant number of questions submitted to Stack Overflow are of low quality. In this paper, we introduce a new web-based tool, Code2Que, which can help developers in writing higher quality questions for a given code snippet. Code2Que consists of two main stages: offline learning and online …
Characterization And Prediction Of Questions Without Accepted Answers On Stack Overflow, Mohamad Yazdaninia, David Lo, Ashkan Sami
Characterization And Prediction Of Questions Without Accepted Answers On Stack Overflow, Mohamad Yazdaninia, David Lo, Ashkan Sami
Research Collection School Of Computing and Information Systems
A fast and effective approach to obtain information regarding software development problems is to search them to find similar solved problems or post questions on community question answering (CQA) websites. Solving coding problems in a short time is important, so these CQAs have a considerable impact on the software development process. However, if developers do not get their expected answers, the websites will not be useful, and software development time will increase. Stack Overflow is the most popular CQA concerning programming problems. According to its rules, the only sign that shows a question poser has achieved the desired answer is …
Automated Query Reformulation For Efficient Search Based On Query Logs From Stack Overflow, Kaibo Cao, Chunyang Chen, Sebastian Baltes, Christoph Treude, Xiang Chen
Automated Query Reformulation For Efficient Search Based On Query Logs From Stack Overflow, Kaibo Cao, Chunyang Chen, Sebastian Baltes, Christoph Treude, Xiang Chen
Research Collection School Of Computing and Information Systems
As a popular Q&A site for programming, Stack Overflow is a treasure for developers. However, the amount of questions and answers on Stack Overflow make it difficult for developers to efficiently locate the information they are looking for. There are two gaps leading to poor search results: the gap between the user's intention and the textual query, and the semantic gap between the query and the post content. Therefore, developers have to constantly reformulate their queries by correcting misspelled words, adding limitations to certain programming languages or platforms, etc. As query reformulation is tedious for developers, especially for novices, we …
Actor Concurrency Bugs: A Comprehensive Study On Symptoms, Root Causes, Api Usages, And Differences, Mehdi Bagherzadeh, Nicholas Fireman, Anas Shawesh, Raffi Khatchadourian
Actor Concurrency Bugs: A Comprehensive Study On Symptoms, Root Causes, Api Usages, And Differences, Mehdi Bagherzadeh, Nicholas Fireman, Anas Shawesh, Raffi Khatchadourian
Publications and Research
Actor concurrency is becoming increasingly important in the development of real-world software systems. Although actor concurrency may be less susceptible to some multithreaded concurrency bugs, such as low-level data races and deadlocks, it comes with its own bugs that may be different. However, the fundamental characteristics of actor concurrency bugs, including their symptoms, root causes, API usages, examples, and differences when they come from different sources are still largely unknown. Actor software development can significantly benefit from a comprehensive qualitative and quantitative understanding of these characteristics, which is the focus of this work, to foster better API documentations, development practices, …
Generating Question Titles For Stack Overflow From Mined Code Snippets, Zhipeng Gao, Xin Xia, John Grundy, David Lo, Yuan-Fang Li
Generating Question Titles For Stack Overflow From Mined Code Snippets, Zhipeng Gao, Xin Xia, John Grundy, David Lo, Yuan-Fang Li
Research Collection School Of Computing and Information Systems
Stack Overflow has been heavily used by software developers as a popular way to seek programming-related information from peers via the internet. The Stack Overflow community recommends users to provide the related code snippet when they are creating a question to help others better understand it and offer their help. Previous studies have shown that a significant number of these questions are of low-quality and not attractive to other potential experts in Stack Overflow. These poorly asked questions are less likely to receive useful answers and hinder the overall knowledge generation and sharing process. Considering one of the reasons for …
An Exploratory Study On How Software Reuse Is Discussed In Stack Overflow, Mohamed Wiem Mkaouer, Eman Abdullah Alomar, Jiaqian Liu, Ali Ouni, Christian D. Newman, Diego Barinas
An Exploratory Study On How Software Reuse Is Discussed In Stack Overflow, Mohamed Wiem Mkaouer, Eman Abdullah Alomar, Jiaqian Liu, Ali Ouni, Christian D. Newman, Diego Barinas
Articles
Software reuse is an important and crucial quality attribute in modern software engineering, where almost all software projects, open source or commercial, no matter small or ultra-large, source code reuse in one way or another. Although software reuse has experienced an increased adoption throughout the years with the exponentially growing number of available third-party libraries, frameworks and APIs, little knowledge exists to investigate what aspects of code reuse developers discuss. In this study, we look into bridging this gap by examining Stack Overflow to understand the challenges developers encounter when trying to reuse code. Using the Stack Overflow tags “code-reuse” …
Enhancing Python Compiler Error Messages Via Stack Overflow, Emillie Thiselton, Christoph Treude
Enhancing Python Compiler Error Messages Via Stack Overflow, Emillie Thiselton, Christoph Treude
Research Collection School Of Computing and Information Systems
Background: Compilers tend to produce cryptic and uninformative error messages, leaving programmers confused and requiring them to spend precious time to resolve the underlying error. To find help, programmers often take to online question-and-answer forums such as Stack Overflow to start discussion threads about the errors they encountered.Aims: We conjecture that information from Stack Overflow threads which discuss compiler errors can be automatically collected and repackaged to provide programmers with enhanced compiler error messages, thus saving programmers' time and energy.Method: We present Pycee, a plugin integrated with the popular Sublime Text IDE to provide enhanced compiler error messages for the …
Biker: A Tool For Bi-Information Source Based Api Method Recommendation, Liang Cai, Haoye Wang, Qiao Huang, Xin Xia, Zhenchang Xing, David Lo
Biker: A Tool For Bi-Information Source Based Api Method Recommendation, Liang Cai, Haoye Wang, Qiao Huang, Xin Xia, Zhenchang Xing, David Lo
Research Collection School Of Computing and Information Systems
No abstract provided.
Automatic Query Reformulation For Code Search Using Crowdsourced Knowledge, Mohammad M. Rahman, Chanchal K. Roy, David Lo
Automatic Query Reformulation For Code Search Using Crowdsourced Knowledge, Mohammad M. Rahman, Chanchal K. Roy, David Lo
Research Collection School Of Computing and Information Systems
Traditional code search engines (e.g., Krugle) often do not perform well with natural language queries. They mostly apply keyword matching between query and source code. Hence, they need carefully designed queries containing references to relevant APIs for the code search. Unfortunately, preparing an effective search query is not only challenging but also time-consuming for the developers according to existing studies. In this article, we propose a novel query reformulation technique–RACK–that suggests a list of relevant API classes for a natural language query intended for code search. Our technique offers such suggestions by exploiting keyword-API associations from the questions and answers …
Automatic Query Reformulation For Code Search Using Crowdsourced Knowledge, Mohammad M. Rahman, Chanchal K. Roy, David Lo
Automatic Query Reformulation For Code Search Using Crowdsourced Knowledge, Mohammad M. Rahman, Chanchal K. Roy, David Lo
Research Collection School Of Computing and Information Systems
Traditional code search engines (e.g., Krugle) often do not perform well with natural language queries. They mostly apply keyword matching between query and source code. Hence, they need carefully designed queries containing references to relevant APIs for the code search. Unfortunately, preparing an effective search query is not only challenging but also time-consuming for the developers according to existing studies. In this article, we propose a novel query reformulation technique–RACK–that suggests a list of relevant API classes for a natural language query intended for code search. Our technique offers such suggestions by exploiting keyword-API associations from the questions and answers …
Api Method Recommendation Without Worrying About The Task-Api Knowledge Gap, Qiao Huang, Xin Xia, Zhenchang Xing, David Lo, Xinyu Wang
Api Method Recommendation Without Worrying About The Task-Api Knowledge Gap, Qiao Huang, Xin Xia, Zhenchang Xing, David Lo, Xinyu Wang
Research Collection School Of Computing and Information Systems
Developers often need to search for appropriate APIs for theirprogramming tasks. Although most libraries have API referencedocumentation, it is not easy to find appropriate APIs due to thelexical gap and knowledge gap between the natural language description of the programming task and the API description in APIdocumentation. Here, the lexical gap refers to the fact that the samesemantic meaning can be expressed by different words, and theknowledge gap refers to the fact that API documentation mainlydescribes API functionality and structure but lacks other types ofinformation like concepts and purposes, which are usually the keyinformation in the task description. In this …
A Behavior-Driven Recommendation System For Stack Overflow Posts, Chase D. Greco
A Behavior-Driven Recommendation System For Stack Overflow Posts, Chase D. Greco
Theses and Dissertations
Developers are often tasked with maintaining complex systems. Regardless of prior experience, there will inevitably be times in which they must interact with parts of the system with which they are unfamiliar. In such cases, recommendation systems may serve as a valuable tool to assist the developer in implementing a solution. Many recommendation systems in software engineering utilize the Stack Overflow knowledge-base as the basis of forming their recommendations. Traditionally, these systems have relied on the developer to explicitly invoke them, typically in the form of specifying a query. However, there may be cases in which the developer is in …
What Security Questions Do Developers Ask? A Large-Scale Study Of Stack Overflow Posts, Xinli Yang, David Lo, Xin Xia, Zhi-Yuan Wan, Jian-Ling Sun
What Security Questions Do Developers Ask? A Large-Scale Study Of Stack Overflow Posts, Xinli Yang, David Lo, Xin Xia, Zhi-Yuan Wan, Jian-Ling Sun
Research Collection School Of Computing and Information Systems
Security has always been a popular and critical topic. With the rapid development of information technology, it is always attracting people’s attention. However, since security has a long history, it covers a wide range of topics which change a lot, from classic cryptography to recently popular mobile security. There is a need to investigate security-related topics and trends, which can be a guide for security researchers, security educators and security practitioners. To address the above-mentioned need, in this paper, we conduct a large-scale study on security-related questions on Stack Overflow. Stack Overflow is a popular on-line question and answer site …
Rack: Automatic Api Recommendation Using Crowdsourced Knowledge, Mohammad M. Rahman, Chanchal K. Roy, David Lo
Rack: Automatic Api Recommendation Using Crowdsourced Knowledge, Mohammad M. Rahman, Chanchal K. Roy, David Lo
Research Collection School Of Computing and Information Systems
Traditional code search engines often do not perform well with natural language queries since they mostly apply keyword matching. These engines thus need carefully designed queries containing information about programming APIs for code search. Unfortunately, existing studies suggest that preparing an effective code search query is both challenging and time consuming for the developers. In this paper, we propose a novel API recommendation technique -- RACK that recommends a list of relevant APIs for a natural language query for code search by exploiting keyword-API associations from the crowdsourced knowledge of Stack Overflow. We first motivate our technique using an exploratory …
Crowd Documentation: Exploring The Coverage And The Dynamics Of Api Discussions On Stack Overflow, Chris Parnin, Christoph Treude, Lars Grammel, Margaret-Anne Storey
Crowd Documentation: Exploring The Coverage And The Dynamics Of Api Discussions On Stack Overflow, Chris Parnin, Christoph Treude, Lars Grammel, Margaret-Anne Storey
Research Collection School Of Computing and Information Systems
Traditionally, many types of software documentation, such as API documentation, require a process where a few people write for many potential users. The resulting documentation, when it exists, is often of poor quality and lacks sufficient examples and explanations. In this paper, we report on an empirical study to investigate how Question and Answer (Q&A) websites, such as Stack Overflow, facilitate crowd documentation — knowledge that is written by many and read by many. We examine the crowd documentation for three popular APIs: Android, GWT, and the Java programming language. We collect usage data using Google Code Search, and analyze …