ShellFusion: Answer Generation for Shell Programming Tasks via Knowledge Fusion
Wed 11 May 2022 13:20 - 13:25 at ICSE room 5-odd hours - Recommender Systems 2 Chair(s): Gabriele Bavota
Shell commands are widely used for accomplishing tasks, such as network management and file manipulation, in Unix and Linux platforms. There are a large number of shell commands available. For example, 50,000+ commands are documented in the Ubuntu Manual Pages (MPs). Quite often, programmers feel frustrated when searching and orchestrating appropriate shell commands to accomplish specific tasks. To address the challenge, the shell programming community calls for easy-to-use tutorials for shell commands. However, existing tutorials (e.g., TLDR) only cover a limited number of frequently used commands for shell beginners and provide limited support for users to search for commands by a task.
In this paper, we propose an approach, namely ShellFusion, to automatically generate comprehensive answers (including relevant shell commands, scripts, and explanations) for shell programming tasks. Our approach integrates knowledge mined from Q&A posts in Stack Exchange, Ubuntu MPs, and TLDR tutorials. For a query that describes a shell programming task, ShellFusion recommends a list of relevant shell commands. Specifically, ShellFusion first retrieves the top-n Q&A posts with questions that are similar to the query. Then, it detects shell commands with options (e.g., ls -t) in the accepted answers of the retrieved posts. Next, ShellFusion filters out irrelevant commands with descriptions in MP and TLDR that share little semantics with the query. ShellFusion further ranks the candidate commands based on their similarities with the query and the retrieved posts. To help users understand how to achieve the task using a recommended command, ShellFusion generates a comprehensive answer for the query by synthesizing knowledge from Q&A posts, MPs, and TLDR. Our evaluation of 434 shell programming tasks shows that ShellFusion significantly outperforms Magnum (the state-of-the-art natural language-to-Bash command approach) by at least 179.6% in terms of the MRR@K and MAP@K metrics. A user study conducted with 20 shell programmers further shows that ShellFusion can help users address programming tasks more efficiently and accurately, compared with Magnum and DeepAns (a recent answer recommendation baseline).
Wed 11 MayDisplayed time zone: Eastern Time (US & Canada) change
04:00 - 05:00 | Recommender Systems 1SEIP - Software Engineering in Practice / Technical Track / Journal-First Papers at ICSE room 3-even hours Chair(s): Alessio Ferrari CNR-ISTI | ||
04:00 5mTalk | Predicting the Objective and Priority of Issue Reports in Software Repositories Journal-First Papers Maliheh Izadi Sharif University of Technology, Kiana Akbari Sharif University of technology, Abbas Heydarnoori Sharif University of Technology Link to publication DOI Pre-print Media Attached | ||
04:05 5mTalk | Code Reviewer Recommendation in Tencent: Practice, Challenge, and Direction SEIP - Software Engineering in Practice Qiuyuan Chen Zhejiang University, Dezhen Kong Zhejiang University, Lingfeng Bao Zhejiang University, Chenxing Sun Tencent, Xin Xia Huawei Software Engineering Application Technology Lab, Shanping Li Zhejiang University Pre-print Media Attached | ||
04:10 5mTalk | Using Deep Learning to Generate Complete Log Statements Technical Track Antonio Mastropaolo Università della Svizzera italiana, Luca Pascarella Università della Svizzera italiana (USI), Gabriele Bavota Software Institute, USI Università della Svizzera italiana Pre-print Media Attached | ||
04:15 5mTalk | Modeling Review History for Reviewer Recommendation: A Hypergraph Approach Technical Track Guoping Rong Nanjing University, YiFan Zhang Nanjing University, Lanxin Yang Nanjing University, Fuli Zhang Nanjing University, Hongyu Kuang Nanjing University, He Zhang Nanjing University Pre-print Media Attached | ||
04:20 5mTalk | ShellFusion: Answer Generation for Shell Programming Tasks via Knowledge Fusion Technical Track Neng Zhang School of Software Engineering, Sun Yat-sen University, Chao Liu Chongqing University, Xin Xia Huawei Software Engineering Application Technology Lab, Christoph Treude University of Melbourne, Ying Zou Queen's University, Kingston, Ontario, David Lo Singapore Management University, Zibin Zheng School of Data and Computer Science, Sun Yat-sen University DOI Pre-print Media Attached | ||
04:25 5mTalk | CLEAR: Contrastive Learning for API Recommendation Technical Track Moshi Wei York University, Nima Shiri Harzevili York University, Yuchao Huang Institute of Software Chinese Academy of Sciences, Junjie Wang Institute of Software at Chinese Academy of Sciences, Song Wang York University Pre-print Media Attached |
13:00 - 14:00 | Recommender Systems 2Technical Track / NIER - New Ideas and Emerging Results / SEIP - Software Engineering in Practice at ICSE room 5-odd hours Chair(s): Gabriele Bavota Software Institute, USI Università della Svizzera italiana | ||
13:00 5mTalk | Better Modeling the Programming World with Code Concept Graphs-augmented Multi-modal Learning NIER - New Ideas and Emerging Results Martin Weyssow DIRO, Université de Montréal, Houari Sahraoui Université de Montréal, Bang Liu DIRO & Mila, Université de Montréal Pre-print Media Attached | ||
13:05 5mTalk | Code Reviewer Recommendation in Tencent: Practice, Challenge, and Direction SEIP - Software Engineering in Practice Qiuyuan Chen Zhejiang University, Dezhen Kong Zhejiang University, Lingfeng Bao Zhejiang University, Chenxing Sun Tencent, Xin Xia Huawei Software Engineering Application Technology Lab, Shanping Li Zhejiang University Pre-print Media Attached | ||
13:10 5mTalk | Recommending Good First Issues in GitHub OSS Projects Technical Track Wenxin Xiao School of Computer Science, Peking University, Hao He Peking University, Weiwei Xu School of Computer Science and Technology, Soochow University, Xin Tan Beihang University, China, Jinhao Dong Peking University, Minghui Zhou Peking University, China Pre-print Media Attached | ||
13:15 5mTalk | Modeling Review History for Reviewer Recommendation: A Hypergraph Approach Technical Track Guoping Rong Nanjing University, YiFan Zhang Nanjing University, Lanxin Yang Nanjing University, Fuli Zhang Nanjing University, Hongyu Kuang Nanjing University, He Zhang Nanjing University Pre-print Media Attached | ||
13:20 5mTalk | ShellFusion: Answer Generation for Shell Programming Tasks via Knowledge Fusion Technical Track Neng Zhang School of Software Engineering, Sun Yat-sen University, Chao Liu Chongqing University, Xin Xia Huawei Software Engineering Application Technology Lab, Christoph Treude University of Melbourne, Ying Zou Queen's University, Kingston, Ontario, David Lo Singapore Management University, Zibin Zheng School of Data and Computer Science, Sun Yat-sen University DOI Pre-print Media Attached | ||
13:25 5mTalk | Using Deep Learning to Generate Complete Log Statements Technical Track Antonio Mastropaolo Università della Svizzera italiana, Luca Pascarella Università della Svizzera italiana (USI), Gabriele Bavota Software Institute, USI Università della Svizzera italiana Pre-print Media Attached |