Please use this identifier to cite or link to this item: https://doi.org/10.21256/zhaw-30388
Publication type: Article in scientific journal
Type of review: Peer review (publication)
Title: Custom static analysis to enhance insight into the usage of in-house libraries
Authors: van de Laar, Piërre
Corvino, Rosilde
Mooij, Arjan J.
van Wezep, Hans
Rosmalen, Raymond
et. al: No
DOI: 10.1016/j.jss.2024.112028
10.21256/zhaw-30388
Published in: Journal of Systems and Software
Volume(Issue): 212
Issue: 112028
Issue Date: Jun-2024
Publisher / Ed. Institution: Elsevier
ISSN: 0164-1212
1873-1228
Language: English
Subjects: Customizable static analysis; Knowledge extraction and retrieval; Reverse engineering; Program comprehension; Code regularity; Industrial case study
Subject (DDC): 005: Computer programming, programs and data
Abstract: For software maintenance and evolution, insight into the codebase is crucial. One way to enhance insight is the application of static analysis to extract and visualize program-specific relations from the code itself, such as call graphs and inheritance trees. Yet, software often contains in-house libraries: unique, domain-specific libraries whose usage is typically scattered throughout the codebase. To provide sufficient insight into the usage of those libraries, the static analysis must be customized with domain-specific information. In this paper, we propose a method to enhance insight into the usage of in-house libraries by producing custom overviews. Furthermore, we describe three exploratory case studies targeting industrial C++ and Ada codebases, in which the method was developed, evolved, and validated. The method prescribes how to create custom overviews using static analysis iteratively, starting from a user-provided, initial specification of proper library usage using code patterns. As a safeguard, the method includes cross-checks to detect code fragments that deviate from proper library usage. Whenever such a deviating library usage is found, the code owners determine whether that deviating library usage should be added to the specification of proper library usage or the code fragment should be made compliant. The latter alternative makes both the codebase more regular and keeps the custom static analysis simpler. The method creates custom overviews that reveal opportunities to improve the usage of the in-house libraries, e.g., the removal of domain-specific redundant code which cannot be detected using generic tools, such as compilers and linters. We observed that industrial codebases are regular enough to create custom overviews using static analysis in the three exploratory case studies. Furthermore, we observed that the cross-checks, which detect deviating library usage, ensure the validity and completeness of the custom overviews. We conclude that producing custom overviews for in-house libraries using the method is valuable and feasible.
URI: https://digitalcollection.zhaw.ch/handle/11475/30388
Fulltext version: Published version
License (according to publishing contract): CC BY 4.0: Attribution 4.0 International
Departement: School of Engineering
Organisational Unit: Institute of Computer Science (InIT)
Appears in collections:Publikationen School of Engineering

Files in This Item:
File Description SizeFormat 
2024_VandeLaar-etal_Usage-analysis-in-house-libraries_jss.pdf1.01 MBAdobe PDFThumbnail
View/Open
Show full item record
van de Laar, P., Corvino, R., Mooij, A. J., van Wezep, H., & Rosmalen, R. (2024). Custom static analysis to enhance insight into the usage of in-house libraries. Journal of Systems and Software, 212(112028). https://doi.org/10.1016/j.jss.2024.112028
van de Laar, P. et al. (2024) ‘Custom static analysis to enhance insight into the usage of in-house libraries’, Journal of Systems and Software, 212(112028). Available at: https://doi.org/10.1016/j.jss.2024.112028.
P. van de Laar, R. Corvino, A. J. Mooij, H. van Wezep, and R. Rosmalen, “Custom static analysis to enhance insight into the usage of in-house libraries,” Journal of Systems and Software, vol. 212, no. 112028, Jun. 2024, doi: 10.1016/j.jss.2024.112028.
VAN DE LAAR, Piërre, Rosilde CORVINO, Arjan J. MOOIJ, Hans VAN WEZEP und Raymond ROSMALEN, 2024. Custom static analysis to enhance insight into the usage of in-house libraries. Journal of Systems and Software. Juni 2024. Bd. 212, Nr. 112028. DOI 10.1016/j.jss.2024.112028
van de Laar, Piërre, Rosilde Corvino, Arjan J. Mooij, Hans van Wezep, and Raymond Rosmalen. 2024. “Custom Static Analysis to Enhance Insight into the Usage of In-House Libraries.” Journal of Systems and Software 212 (112028). https://doi.org/10.1016/j.jss.2024.112028.
van de Laar, Piërre, et al. “Custom Static Analysis to Enhance Insight into the Usage of In-House Libraries.” Journal of Systems and Software, vol. 212, no. 112028, June 2024, https://doi.org/10.1016/j.jss.2024.112028.


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.