- document
-
Keshani, M. (author), Gousios, G. (author), Proksch, S. (author)Call Graphs are a rich data source and form the foundation for advanced static analyses that can, for example, detect security vulnerabilities or dead code. This information is invaluable when it is immediately available, such as in the output of a build system. Call Graph generation is a whole-program analysis: not just the application, but...journal article 2024
- document
-
Keshani, M. (author), Vos, Simcha (author), Proksch, S. (author)Software reuse is a common practice in modern software engineering to save time and energy while accelerating software delivery. Dependency managers like MAVEN offer a large ecosystem of reusable libraries that build the backbone of software reuse. Breaking changes, i.e., when an update to a library introduces incompatible changes that break...journal article 2023
- document
-
Ciurumelea, Adelina (author), Alexandru, Carol V. (author), Gall, Harald C. (author), Proksch, S. (author)Source code comments are a cornerstone of software documentation facilitating feature development and maintenance. Well-defined documentation formats, like Javadoc, make it easy to include structural metadata used to, for example, generate documentation manuals. However, the actual usage of structural elements in source code comments has not...journal article 2023
- document
-
Mir, S.A.M. (author), Keshani, M. (author), Proksch, S. (author)Reusing software libraries is a pillar of modern software engineering. In 2022, the average Java application depends on 40 third-party libraries. Relying on such libraries exposes a project to potential vulnerabilities and may put an application and its users at risk. Unfortunately, research on software ecosystems has shown that the number of...conference paper 2023
- document
-
Mir, S.A.M. (author), Latoskinas, Evaldas (author), Proksch, S. (author), Gousios, G. (author)Dynamic languages, such as Python and Javascript, trade static typing for developer flexibility and productivity. Lack of static typing can cause run-time exceptions and is a major factor for weak IDE support. To alleviate these issues, PEP 484 introduced optional type annotations for Python. As retrofitting types to existing code-bases is...conference paper 2022
- document
-
Vassallo, Carmine (author), Panichella, Sebastiano (author), Palomba, Fabio (author), Proksch, S. (author), Zaidman, A.E. (author), Gall, HC (author)Automatic static analysis tools (ASATs) are instruments that support code quality assessment by automatically detecting defects and design issues. Despite their popularity, they are characterized by (i) a high false positive rate and (ii) the low comprehensibility of the generated warnings. However, no prior studies have investigated the usage...journal article 2020