Abstract
Software developers need to cope with a massive amount of knowledge throughout the typical life cycle of modern projects. This knowledge includes expertise related to the software development phases (e.g., programming, testing) using a wide variety of methods and tools, including development methodologies (e.g., waterfall, agile), software tools (e.g., Eclipse), programming languages (e.g., Java, SQL), and deployment strategies (e.g., Docker, Jenkins). However, there is no explicit integration of these various types of knowledge with software development projects so that developers can avoid having to search over and over for similar and recurrent solutions to tasks and reuse this knowledge. Specifically, Q&A sites such as Stack Overflow are used by developers to share software development knowledge through posts published in several categories, but there is no link between these posts and the tasks developers perform. In this paper, we present an approach that (i) allows developers to associate project tasks with Stack Overflow posts, and (ii) recommends which Stack Overflow posts might be reused based on task similarity. We analyze an industry dataset, which contains project tasks associated with Stack Overflow posts, looking for the similarity of project tasks that reuse a Stack Overflow post. The approach indicates that when a software developer is performing a task, and this task is similar to another task that has been associated with a post, the same post can be recommended to the developer and possibly reused. We believe that this approach can significantly advance the state of the art of software knowledge reuse by supporting novel knowledge-project associations.
Funder
Global Affairs Canada - Emerging Leaders in the Americas Program
Mitacs
Canadian Network for Research and Innovation in Machining Technology, Natural Sciences and Engineering Research Council of Canada
COMAP - Centre for Community Mapping
Publisher
Public Library of Science (PLoS)
Reference67 articles.
1. Knowledge-intensive processes: characteristics, requirements and analysis of contemporary approaches;C Di Ciccio;Journal on Data Semantics,2015
2. Vasanthapriyan S, Tian J, Xiang J. A survey on knowledge management in software engineering. In: Software Quality, Reliability and Security-Companion (QRS-C), 2015 IEEE International Conference on. IEEE; 2015. p. 237–244.
3. I Know What You Did Last Summer—An Investigation of How Developers Spend Their Time;R Minelli;Piscataway: The Institute of Electrical and Electronics Engineers, Inc. (IEEE),2015
4. The Work Life of Developers: Activities, Switches and Perceived Productivity;AN Meyer;IEEE Transactions on Software Engineering,2017
5. Leveraging Crowd Knowledge for Software Comprehension and Development;L Ponzanelli;IEEE,2013
Cited by
3 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献