English
Related papers

Related papers: Client--Library Compatibility Testing with API Int…

200 papers

This paper is the result of a two month research internship on the topic of library version identification. In this paper, ideas and techniques from literature in the area of binary comparison and fingerprinting are outlined and applied to…

Cryptography and Security · Computer Science 2017-03-02 Thomas Rinsma

Open-source software (OSS) is a pillar of modern software development. Its success depends on the dedication of maintainers who work constantly to keep their libraries stable, adapt to changing needs, and support a growing community. Yet,…

Software Engineering · Computer Science 2025-10-20 Rachna Raj , Diego Elias Costa

GUI agents drive applications through their visual interfaces instead of programmatic APIs, interacting with arbitrary software via taps, swipes, and keystrokes, reaching a long tail of applications that CLI-based agents cannot. Yet…

Machine Learning · Computer Science 2026-04-14 Fei Tang , Zhiqiong Lu , Boxuan Zhang , Weiming Lu , Jun Xiao , Yueting Zhuang , Yongliang Shen

To ensure app compatibility and smoothness of user experience across diverse devices and platforms, developers have to perform cross-device, cross-platform testing of their apps, which is laborious. There comes a recently increasing trend…

Software Engineering · Computer Science 2023-05-25 Mulong Xie , Jiaming Ye , Zhenchang Xing , Lei Ma

Snapshot isolation (SI) is a prevalent weak isolation level that avoids the performance penalty imposed by serializability and simultaneously prevents various undesired data anomalies. Nevertheless, SI anomalies have recently been found in…

Databases · Computer Science 2023-10-26 Kaile Huang , Si Liu , Zhenge Chen , Hengfeng Wei , David Basin , Haixiang Li , Anqun Pan

When a developer pushes a change to an application's codebase, a good practice is to have a test case specifying this behavioral change. Thanks to continuous integration (CI), the test is run on subsequent commits to check that they do no…

Software Engineering · Computer Science 2023-05-05 Benjamin Danglot , Martin Monperrus , Walter Rudametkin , Benoit Baudry

Software developers study and reuse existing source code to understand how to properly use application programming interfaces (APIs). However, manually finding sufficient and adequate code examples for a given API is a difficult and a…

Software Engineering · Computer Science 2022-08-02 Mohammad Ghafari , Konstantin Rubinov , Mohammad Mehdi Pourhashem K

Third-party libraries are a cornerstone of fast application development. To enable efficient use, libraries must provide a well-designed API. An obscure API instead slows down the learning process and can lead to erroneous use. The usual…

Software Engineering · Computer Science 2024-01-17 Lars Reimann , Günter Kniesel-Wünsche

The implementation of complex software systems usually depends on low-level frameworks or third-party libraries. During their evolution, the APIs adding and removing behaviors may cause unexpected compatibility problems. So, precisely…

Software Engineering · Computer Science 2024-01-08 Jiwei Yan , Jinhao Huang , Hengqin Yang , Jun Yan

Industrial applications heavily integrate open-source software libraries nowadays. Beyond the benefits that libraries bring, they can also impose a real threat in case a library is affected by a vulnerability but its community is not active…

Software Engineering · Computer Science 2025-04-24 Alexandros Tsakpinis

Various studies have empirically shown that the majority of Java and Android apps misuse cryptographic libraries, causing devastating breaches of data security. Therefore, it is crucial to detect such misuses early in the development…

Software Engineering · Computer Science 2017-10-04 Stefan Krüger , Johannes Späth , Karim Ali , Eric Bodden , Mira Mezini

Relational database applications are notoriously difficult to test and debug. Concurrent execution of database transactions may violate complex structural invariants that constraint how changes to the contents of one (shared) table affect…

Programming Languages · Computer Science 2019-08-16 Kia Rahmani , Kartik Nagar , Benjamin Delaware , Suresh Jagannathan

Finding bugs is key to the correctness of compilers in wide use today. If the behaviour of a compiled program, as allowed by its architecture memory model, is not a behaviour of the source program under its source model, then there is a…

Programming Languages · Computer Science 2024-01-31 Luke Geeson , Lee Smith

Numerous exploits of client-server protocols and applications involve modifying clients to behave in ways that untampered clients would not, such as crafting malicious packets. In this paper, we demonstrate practical verification of a…

Cryptography and Security · Computer Science 2016-03-15 Andrew Chi , Robert Cochran , Marie Nesfield , Michael K. Reiter , Cynthia Sturton

The correct adoption of cryptography APIs is challenging for mainstream developers, often resulting in widespread API misuse. Meanwhile, cryptography misuse detectors have demonstrated inconsistent performance and remain largely…

Cryptography and Security · Computer Science 2024-09-11 Ehsan Firouzi , Mohammad Ghafari , Mike Ebrahimi

Secret-dependent timing behavior in cryptographic implementations has resulted in exploitable vulnerabilities, undermining their security. Over the years, numerous tools to automatically detect timing leakage or even to prove their absence…

Cryptography and Security · Computer Science 2023-04-25 Jan Wichelmann , Florian Sieck , Anna Pätschke , Thomas Eisenbarth

Open-Source Projects and Libraries are being used in software development while also bearing multiple security vulnerabilities. This use of third party ecosystem creates a new kind of attack surface for a product in development. An…

Software Engineering · Computer Science 2018-08-15 Lorenzo Neil , Sudip Mittal , Anupam Joshi

Reusing third-party libraries increases productivity and saves time and costs for developers. However, the downside is the presence of vulnerabilities in those libraries, which can lead to catastrophic outcomes. For instance, Apache Log4J…

Software Engineering · Computer Science 2024-11-20 Yi Wen Heng , Zeyang Ma , Haoxiang Zhang , Zhenhao Li , Tse-Hsun , Chen

Collaborative learning allows multiple clients to train a joint model without sharing their data with each other. Each client performs training locally and then submits the model updates to a central server for aggregation. Since the server…

Cryptography and Security · Computer Science 2020-03-11 Lingchen Zhao , Shengshan Hu , Qian Wang , Jianlin Jiang , Chao Shen , Xiangyang Luo , Pengfei Hu

GUI responsiveness is critical for a positive user experience in mobile applications. Even brief delays in visual feedback can frustrate users and lead to negative reviews. However, detecting and quantifying such user-perceived delays…

Software Engineering · Computer Science 2025-08-05 Wei Liu , Linqiang Guo , Yi Wen Heng , Chenglin Li , Tse-Hsun , Chen , Ahmed E. Hassan