arrow
Return

XtraLibD: Detecting Irrelevant Third-Party Libraries in Java and Python Applications

delete2022-02-11
delete0
delete
OA
AI
R
Ritu Kapur *
P
Poojith U Rao
A
Agrim Dewam
B
Balwinder Sodhi
DOI:10.1007/978-3-030-96648-5_7delete
deleteOriginal
deleteShare
deleteSave
Abstract

Abstract

En 中文
Software development comprises the use of multiple Third-Party Libraries (TPLs). However, the irrelevant libraries present in software application's distributable often lead to excessive consumption of resources such as CPU cycles, memory, and modile-devices' battery usage. Therefore, the identification and removal of unused TPLs present in an application are desirable. We present a rapid, storage-efficient, obfuscation-resilient method to detect the irrelevant-TPLs in Java and Python applications. Our approach's novel aspects are i) Computing a vector representation of a .class file using a model that we call Lib2Vec. The Lib2Vec model is trained using the Paragraph Vector Algorithm. ii) Before using it for training the Lib2Vec models, a .class file is converted to a normalized form via semantics-preserving transformations. iii) A eXtra Library Detector (XtraLibD) developed and tested with 27 different language-specific Lib2Vec models. These models were trained using different parameters and >30,000 .class and >478,000 .py files taken from >100 different Java libraries and 43,711 Python available at MavenCentral.com and Pypi.com , respectively. XtraLibD achieves an accuracy of 99.48% with an F1 score of 0.968 and outperforms the existing tools, viz., LibScout, LiteRadar, and LibD with an accuracy improvement of 74.5%, 30.33%, and 14.1%, respectively. Compared with LibD, XtraLibD achieves a response time improvement of 61.37% and a storage reduction of 87.93% (99.85% over JIngredient). Our program artifacts are available at haps://www.doi.org/10.5281/zenodo.5179747.
Keywords:
Third-party library detection
Code similarity
Paragraph vectors
Software bloat
Obfuscation

Journal

E
Evaluation of Novel Approaches to Software Engineering
IF:
0
Papers:
1
Citations:
0

Organization

I
indian institute of technology (iit) - ropar
Scholars:
967
Papers: 951
Citations: 1.2K
I
indian institute of technology system (iit system)
Scholars:
9.5W
Papers: 9.9W
Citations: 9.2W
Cited Papers

Cited Papers

Genomewide Analysis of mRNA Processing in Yeast Using Splicing-Specific Microarrays
err2002-05-03
err0
PREAI
errTyson A. Clark; Charles W. Sugnet; Manuel Ares
errShare
errSave
Neuronal gelsolin prevents apoptosis by enhancing actin depolymerization
err2004-01-01
err0
PREAI
errChristoph Harms; Julian Bösel; Marion Lautenschlager; Ulrike Harms; Johann S Braun; Heide Hörtnagl; Ulrich Dirnagl; David J Kwiatkowski; Klaus Fink; Matthias Endres
errShare
errSave
A comprehensive study of bloated dependencies in the Maven ecosystem
err2021-03-25
err52
errOAAI
errSoto-Valero, Cesar; Harrand, Nicolas; Monperrus, Martin; Baudry, Benoit
errShare
errSave
Corepressor Recruitment by Agonist-Bound Nuclear Receptors
err2004-01-01
err0
PREAI
errJohn H White; Isabelle Fernandes; Sylvie Mader; Xiang-Jiao Yang
errShare
errSave
Ligand-dependent transcription activation by nuclear receptors requires the DRIP complex
err1999-04-01
err0
PREAI
errChristophe Rachez; Bryan D. Lemon; Zalman Suldan; Virginia Bromleigh; Matthew Gamble; Anders M. Näär; Hediye Erdjument-Bromage; Paul Tempst; Leonard P. Freedman
errShare
errSave
Software Bertillonage Determining the provenance of software development artifacts
err2012-04-24
err35
PREAI
errDavies, Julius; German, Daniel M.; Godfrey, Michael W.; Hindle, Abram
errShare
errSave
researcher View more