shell programming is widely used to accomplish various tasks in Unix and Linux platforms. However, the large number of shell commands available, e.g., 50,000+ commands are documented in the Ubuntu Manual Pages (MPs), ...
详细信息
ISBN:
(纸本)9798350322637
shell programming is widely used to accomplish various tasks in Unix and Linux platforms. However, the large number of shell commands available, e.g., 50,000+ commands are documented in the Ubuntu Manual Pages (MPs), makes it a big challenge for programmers to find appropriate commands for a task. Although there are some tutorials (e.g., TLDR) with examples manually created to address the challenge, the tutorials only cover a limited number of frequently used commands for shell beginners and provide limited support for users to search commands by a task. In this paper, we introduce a novel web-based tool, shellFusion, which can automatically generate comprehensive answers (including relevant commands, scripts, and explanations) for shell programming tasks by fusing multi-source knowledge mined from Q&A posts, Ubuntu MPs, and TLDR tutorials. Our evaluation on 434 shell programming tasks shows that shellFusion significantly outperforms the state-of-the-art approaches by at least 179.6% in terms of MRR@K and MAP@K. A user study conducted with 20 shell programmers further shows that shellFusion can help users address programming tasks more efficiently and accurately.
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+ command...
详细信息
ISBN:
(纸本)9781450392211
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). Qyite 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. We propose an approach, i.e., 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 retrieves the top-n Q&A posts with questions similar to the query and detects shell commands with options (e. g., ls -t) from 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, and 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 each command 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 MRR@K and MAP@K. A user study conducted with 20 shell programmers further
There's a lot to be said for going back to basics. Not only does this Bible give you a quick refresher on the structure of open-source Linux software, it also shows you how to bypass the hefty graphical user inter...
详细信息
ISBN:
(数字)9780470386002
ISBN:
(纸本)9780470251287
There's a lot to be said for going back to basics. Not only does this Bible give you a quick refresher on the structure of open-source Linux software, it also shows you how to bypass the hefty graphical user interface on Linux systems and start interacting the fast and efficient way?with command lines and automated scripts. You'll learn how to manage files on the filesystem, start and stop programs, use databases, even do Web programming?without a GUI?with this one-stop resource.
Computer systems for ship design generally consist of many functional modules. These systems should balance the requirement for tight integration with that for flexibility. Designers require a system with versatile fu...
详细信息
Computer systems for ship design generally consist of many functional modules. These systems should balance the requirement for tight integration with that for flexibility. Designers require a system with versatile functions which are tightly coupled to support the design process. At the same time, they require the system to have flexibility so that any individual design module of the system can be accessed at any design stage and given different input data. To support the engineering design process, a computer system is developed which provides not only an integrated design model for cooperative work but also a flexible model to cope with a changing environment. A conceptual design system is developed by reorganizing the functions of an existing system. The identities of the system modules are maintained so that each module can be executed separately. The superapplication concept, which refers to the control of functional modules at a higher level, has been implemented using Unix C shell scripts.
A variety of single-address image, graphic, and image-operator data structures and a library of support subroutines have been implemented in the C programming language. These facilitate efficient and representation-in...
详细信息
A variety of single-address image, graphic, and image-operator data structures and a library of support subroutines have been implemented in the C programming language. These facilitate efficient and representation-independent procedure implementation, and have been used to construct a set of image processing tools in a Unix environment which make a flexible interactive image processing system.
暂无评论