In finance, leverage is the ratio between assets borrowed from others and one's own assets. A matching situation is present in software: by using free open-source software (FOSS) libraries a developer leverages on other people's code to multiply the offered functionalities with a much smaller own codebase. In finance as in software, leverage magnifies profits when returns from borrowing exceed costs of integration, but it may also magnify losses, in particular in the presence of security vulnerabilities. We aim to understand the level of technical leverage in the FOSS ecosystem and whether it can be a potential source of security vulnerabilities. Also, we introduce two metrics change distance and change direction to capture the amount and the evolution of the dependency on third-party libraries. The application of the proposed metrics on 8494 distinct library versions from the FOSS Maven-based Java libraries shows that small and medium libraries (less than 100KLoC) have disproportionately more leverage on FOSS dependencies in comparison to large libraries. We show that leverage pays off as leveraged libraries only add a 4% delay in the time interval between library releases while providing four times more code than their own. However, libraries with such leverage (i.e., 75% of libraries in our sample) also have 1.6 higher odds of being vulnerable in comparison to the libraries with lower leverage. We provide an online demo for computing the proposed metrics for real-world software libraries available under the following URL: https://techleverage.eu/.
翻译:在金融方面,杠杆是指从他人借来的资产与个人资产之间的比例。软件中存在一种匹配的情况:通过使用免费开放源码软件(FOSS)图书馆,开发者对他人代码的杠杆作用,将提供的功能增加一个小得多的代码库。在金融方面,当借款回报超过整合成本时,杠杆作用会扩大利润,但也会扩大损失,特别是在存在安全脆弱性的情况下。我们的目标是了解自由和开放源码软件生态系统的技术杠杆水平,以及它是否可能成为安全脆弱性的潜在来源。此外,我们还引入了两个衡量改变距离和改变方向的尺度,以捕捉第三方图书馆依赖性的数量和演变。在FOSS Maven-Java图书馆的894个不同版本上应用拟议指标表明,中小型图书馆(不到100KLOC)对自由和开放源码软件依赖程度的杠杆比大型图书馆要大得多。我们表明,杠杆作用作为杠杆作用的图书馆只能增加4%的间隔时间,同时提供比其自身的代码多四倍。然而,图书馆在网上的版本中,具有这种杠杆作用的图书馆比我们更低的版本。我们提议,在网上的图书馆中提供一个比较。