Good news! The PRISM website is available for submissions. The planned data migration to the Scholaris server has been successfully completed. We’d love to hear your feedback at openservices@ucalgary.libanswers.com
 

Guided Software Library Selection

Journal Title

Journal ISSN

Volume Title

Publisher

Abstract

Selection of an appropriate reusable software library is a non-trivial task. Developers spend hours every day browsing information online for gathering knowledge on technology and libraries. Though there are a few studies on qualifying factors of software libraries, a comprehensive study on the library selection process for developing a library selection too is still missing. Moreover, there are limitations of existing techniques that summarize library-related opinions for developers. This thesis aims to guide development teams for software library selection by providing them with specific recommendations and by developing foundational technical components that can be integrated into library selection tools. Following Straussian grounded theory, we interviewed 24 industry professionals for the library selection process. We conducted a mapping study with 384 Stack Overflow (SO) based software engineering (SE) research papers to understand the state-of-the-art techniques used around SO which is the most common source of library-related opinions for developers. We implemented a novel noise-augmentation approach on a contrastive learning-based deep learning model that can significantly improve library-related sentiment detection from the SO posts. Finally, we conducted an online survey with 135 industry practitioners to know the usage of large-language model (LLM) based chatbots and implemented an interactive prompting technique to detect chatbot incorrectness which was a major concern raised by the practitioners. We developed a theoretical framework of the library adoption model showing that while facing 7 barriers under 23 different conditions, developers follow 6 decision patterns to consider 28 factors in the 5-step library adoption process. Besides proposing seven recommendations for improving library selection efficiency, we also conceptualized a library selection tool COMPINER. Our noise-aware contrastive learning base technique, CLAN, outperformed all SOTA models by 2% in eight benchmarks and by up to 27% in online noisy data. The chatbot incorrectness detection tool CID can detect the correctness of the chatbot responses with 0.74-0.75 f1-score. The mapping study on SO produced a catalog of ten SE research themes for 384 papers. The results of the rigorously data-driven empirical studies and the tool implementations can support both industry practitioners and SE researchers in the library selection process and tools.

Description

Citation

Tanzil, M. H. (2023). Guided software library selection (Master's thesis, University of Calgary, Calgary, Canada). Retrieved from https://prism.ucalgary.ca.