Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- research-articleDecember 2024
An extended study of syntactic breaking changes in the wild
Empirical Software Engineering (KLU-EMSE), Volume 30, Issue 2https://doi.org/10.1007/s10664-024-10563-4AbstractLibraries assist in accelerating the development of software applications by providing reusable functionalities. Libraries and applications that declare these libraries as dependencies become their clients. However, as libraries evolve, ...
Understanding the Impact of APIs Behavioral Breaking Changes on Client Applications
Proceedings of the ACM on Software Engineering (PACMSE), Volume 1, Issue FSEArticle No.: 56, Pages 1238–1261https://doi.org/10.1145/3643782Libraries play a significant role in software development as they provide reusable functionality, which helps expedite the development process. As libraries evolve, they release new versions with optimisations like new functionality, bug fixes, and ...
- research-articleJuly 2024
CrashJS: A NodeJS Benchmark for Automated Crash Reproduction
MSR '24: Proceedings of the 21st International Conference on Mining Software RepositoriesPages 75–87https://doi.org/10.1145/3643991.3644912Software bugs often lead to software crashes, which cost US companies upwards of $2.08 trillion annually. Automated Crash Reproduction (ACR) aims to generate unit tests that successfully reproduce a crash. The goal of ACR is to aid developers with ...
- research-articleJuly 2024
Keep Me Updated: An Empirical Study on Embedded Javascript Engines in Android Apps
MSR '24: Proceedings of the 21st International Conference on Mining Software RepositoriesPages 361–372https://doi.org/10.1145/3643991.3644901Although JavaScript (JS) has been widely used in mobile development, little is known about the security implications of utilizing JS engines shipped as native app libraries. In this paper, we conduct an empirical study by designing a JS-Inspector ...
- research-articleDecember 2023
Test flakiness’ causes, detection, impact and responses: A multivocal review
Journal of Systems and Software (JSSO), Volume 206, Issue Chttps://doi.org/10.1016/j.jss.2023.111837AbstractFlaky tests (tests with non-deterministic outcomes) pose a major challenge for software testing. They are known to cause significant issues, such as reducing the effectiveness and efficiency of testing and delaying software releases. In recent ...
Highlights- A detailed multivocal review of flaky tests in research and practice.
- Most studies covering test flakiness have focused more on Java.
- Flakiness due to test order dependency and concurrency are widely studied.
- Dynamic rerun-...
-
- research-articleNovember 2024
On the Security Blind Spots of Software Composition Analysis
SCORED '24: Proceedings of the 2024 Workshop on Software Supply Chain Offensive Research and Ecosystem DefensesPages 77–87https://doi.org/10.1145/3689944.3696165Modern software heavily relies on the use of components. Those components are usually published in central repositories, and managed by build systems via dependencies. Due to issues around vulnerabilities, licenses, and the propagation of bugs, the study ...
- research-articleNovember 2024
BinEq - A Benchmark of Compiled Java Programs to Assess Alternative Builds
SCORED '24: Proceedings of the 2024 Workshop on Software Supply Chain Offensive Research and Ecosystem DefensesPages 15–25https://doi.org/10.1145/3689944.3696162Incidents like xz and SolarWinds have led to an increased focus on software supply chain security. A particular concern is the detection and prevention of compromised builds. A common approach is to independently re-build projects, and compare the ...
Understanding Breaking Changes in the Wild
ISSTA 2023: Proceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and AnalysisPages 1433–1444https://doi.org/10.1145/3597926.3598147Modern software applications rely heavily on the usage of libraries, which provide reusable functionality, to accelerate the development process. As libraries evolve and release new versions, the software systems that depend on those libraries (the ...
- short-paperOctober 2022
A study of single statement bugs involving dynamic language features
ICPC '22: Proceedings of the 30th IEEE/ACM International Conference on Program ComprehensionPages 494–498https://doi.org/10.1145/3524610.3527883Dynamic language features are widely available in programming languages to implement functionality that can adapt to multiple usage contexts, enabling reuse. Functionality such as data binding, object-relational mapping and user interface builders can ...
- ArticleOctober 2021
Caught in the Web: DoS Vulnerabilities in Parsers for Structured Data
Computer Security – ESORICS 2021Pages 67–85https://doi.org/10.1007/978-3-030-88418-5_4AbstractWe study a class of denial-of-service (DoS) vulnerabilities that occur in parsing structured data. These vulnerabilities enable low bandwidth DoS attacks with input that causes algorithms to execute in disproportionately large time and/or space. ...
- research-articleJanuary 2021
A hybrid analysis to detect Java serialisation vulnerabilities
ASE '20: Proceedings of the 35th IEEE/ACM International Conference on Automated Software EngineeringPages 1209–1213https://doi.org/10.1145/3324884.3418931Serialisation related security vulnerabilities have recently been reported for numerous Java applications. Since serialisation presents both soundness and precision challenges for static analysis, it can be difficult for analyses to precisely pinpoint ...
- research-articleNovember 2020
Putting the semantics into semantic versioning
Onward! 2020: Proceedings of the 2020 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and SoftwarePages 157–179https://doi.org/10.1145/3426428.3426922The long-standing aspiration for software reuse has made astonishing strides in the past few years. Many modern software development ecosystems now come with rich sets of publicly-available components contributed by the community. Downstream developers ...
On the recall of static call graph construction in practice
ICSE '20: Proceedings of the ACM/IEEE 42nd International Conference on Software EngineeringPages 1049–1060https://doi.org/10.1145/3377811.3380441Static analyses have problems modelling dynamic language features soundly while retaining acceptable precision. The problem is well-understood in theory, but there is little evidence on how this impacts the analysis of real-world programs. We have ...
- research-articleMay 2019
Dependency versioning in the wild
MSR '19: Proceedings of the 16th International Conference on Mining Software RepositoriesPages 349–359https://doi.org/10.1109/MSR.2019.00061Many modern software systems are built on top of existing packages (modules, components, libraries). The increasing number and complexity of dependencies has given rise to automated dependency management where package managers resolve symbolic ...
- research-articleMay 2019
Man vs machine: a study into language identification of stack overflow code snippets
MSR '19: Proceedings of the 16th International Conference on Mining Software RepositoriesPages 205–209https://doi.org/10.1109/MSR.2019.00041Software engineers produce large amounts of publicly accessible data that enables researchers to mine knowledge, fostering a better understanding of the field. Knowledge extraction often relies on meta data. This meta data can either be harvested from ...
- research-articleJune 2018
Can you tell me if it smells?: A study on how developers discuss code smells and anti-patterns in Stack Overflow
EASE '18: Proceedings of the 22nd International Conference on Evaluation and Assessment in Software Engineering 2018Pages 68–78https://doi.org/10.1145/3210459.3210466This paper investigates how developers discuss code smells and anti-patterns over Stack Overflow to understand better their perceptions and understanding of these two concepts. Understanding developers' perceptions of these issues are important in order ...
- research-articleJune 2017
On the construction of soundness oracles
SOAP 2017: Proceedings of the 6th ACM SIGPLAN International Workshop on State Of the Art in Program AnalysisPages 37–42https://doi.org/10.1145/3088515.3088520One of the inherent advantages of static analysis is that it can create and reason about models of an entire program. However, mainstream languages such as Java use numerous dynamic language features designed to boost programmer productivity, but these ...
- articleJanuary 2017
Parallel symmetric class expression learning
In machine learning, one often encounters data sets where a general pattern is violated by a relatively small number of exceptions (for example, a rule that says that all birds can fly is violated by examples such as penguins). This complicates the ...
- research-articleJuly 2016
A Note on the Soundness of Difference Propagation
FTfJP'16: Proceedings of the 18th Workshop on Formal Techniques for Java-like ProgramsArticle No.: 3, Pages 1–5https://doi.org/10.1145/2955811.2955814Difference propagation is an algorithm widely used in points-to and alias analysis. To the best of our knowledge, the soundness of the version of the algorithm used for the static analysis of Java programs has not yet been proven. An attempt to do this ...