Δημοσιεύσεις

Project Acronym: JSEvolution
Title: JS Evolution
Affiliation: athens university of economics and business
Pi: Panos Louridas
Research Field: mathematics and computer sciences

Time Present and Time Past: Analyzing the Evolution of JavaScript Code in the Wild
by D. Mitropoulos and P. Louridas and V. Salis and D. Spinellis
Abstract:
JavaScript is one of the web's key building blocks. It is used by the majority of web sites and it is supported by all modern browsers. We present the first large-scale study of client-side JavaScript code over time. Specifically, we have collected and analyzed a dataset containing daily snapshots of JavaScript code coming from Alexa's Top 10000 web sites ( 7.5 GB per day) for nine consecutive months, to study different temporal aspects of web client code. We found that scripts change often; typically every few days, indicating a rapid pace in web applications development. We also found that the lifetime of web sites themselves, measured as the time between JavaScript changes, is also short, in the same time scale. We then performed a qualitative analysis to investigate the nature of the changes that take place. We found that apart from standard changes such as the introduction of new functions, many changes are related to online configuration management. In addition, we examined JavaScript code reuse over time and especially the widespread reliance on third-party libraries. Furthermore, we observed how quality issues evolve by employing established static analysis tools to identify potential software bugs, whose evolution we tracked over time. Our results show that quality issues seem to persist over time, while vulnerable libraries tend to decrease.
Reference:
Time Present and Time Past: Analyzing the Evolution of JavaScript Code in the Wild (D. Mitropoulos and P. Louridas and V. Salis and D. Spinellis), In 2019 IEEE/ACM 16th International Conference on Mining Software Repositories (MSR), volume , 2019.
Bibtex Entry:
@inproceedings{8816751,
 author = {D. {Mitropoulos} and P. {Louridas} and V. {Salis} and D. {Spinellis}},
 booktitle = {2019 IEEE/ACM 16th International Conference on Mining Software Repositories (MSR)},
 title = {Time Present and Time Past: Analyzing the Evolution of JavaScript Code in the Wild},
 year = {2019},
 bibyear = {2019},
 volume = {},
 number = {},
 pages = {126-137},
 abstract = {JavaScript is one of the web's key building blocks. It is used by the majority of web sites and it is supported by all modern browsers. We present the first large-scale study of client-side JavaScript code over time. Specifically, we have collected and analyzed a dataset containing daily snapshots of JavaScript code coming from Alexa's Top 10000 web sites (~7.5 GB per day) for nine consecutive months, to study different temporal aspects of web client code. We found that scripts change often; typically every few days, indicating a rapid pace in web applications development. We also found that the lifetime of web sites themselves, measured as the time between JavaScript changes, is also short, in the same time scale. We then performed a qualitative analysis to investigate the nature of the changes that take place. We found that apart from standard changes such as the introduction of new functions, many changes are related to online configuration management. In addition, we examined JavaScript code reuse over time and especially the widespread reliance on third-party libraries. Furthermore, we observed how quality issues evolve by employing established static analysis tools to identify potential software bugs, whose evolution we tracked over time. Our results show that quality issues seem to persist over time, while vulnerable libraries tend to decrease.},
 doi = {10.1109/MSR.2019.00029},
 url = {https://ieeexplore.ieee.org/document/8816751},
 issn = {},
 month = {May},
}