Do Developers Depend on Deprecated Library Versions? A Mining Study of Log4j
By: Haruhiko Yoshioka , Sila Lertbanjongngam , Masayuki Inaba and more
Potential Business Impact:
Finds old, unsafe software still being used.
Log4j has become a widely adopted logging library for Java programs due to its long history and high reliability. Its widespread use is notable not only because of its maturity but also due to the complexity and depth of its features, which have made it an essential tool for many developers. However, Log4j 1.x, which reached its end of support (deprecated), poses significant security risks and has numerous deprecated features that can be exploited by attackers. Despite this, some clients may still rely on this library. We aim to understand whether clients are still using Log4j 1.x despite its official support ending. We utilized the Mining Software Repositories 2025 challenge dataset, which provides a large and representative sample of open-source software projects. We analyzed over 10,000 log entries from the Mining Software Repositories 2025 challenge dataset using the Goblin framework to identify trends in usage rates for both Log4j 1.x and Log4j-core 2.x. Specifically, our study addressed two key issues: (1) We examined the usage rates and trends for these two libraries, highlighting any notable differences or patterns in their adoption. (2) We demonstrate that projects initiated after a deprecated library has reached the end of its support lifecycle can still maintain significant popularity. These findings highlight how deprecated are still popular, with the next step being to understand the reasoning behind these adoptions.
Similar Papers
Mining for Lags in Updating Critical Security Threats: A Case Study of Log4j Library
Software Engineering
Fixes software bugs faster, especially security ones.
Dependency Update Adoption Patterns in the Maven Software Ecosystem
Software Engineering
Helps software stay safe from bugs.
Minimizing Breaking Changes and Redundancy in Mitigating Technical Lag for Java Projects
Software Engineering
Keeps computer programs updated automatically and safely.