Papers for

java backend developers

Papers whose findings have a practical use for this group, as judged from the abstract. Open a paper to read what it means in practice.

Java tools align on reliable large language model calls

Consistent LLM Call Handling Across Java Frameworks: A Reference Implementation and Benchmark

Abstract: Java applications reach large language models (LLMs) through an integration framework, and rely on it to handle a failing provider: to retry what can be retried and nothing else, to wait as long as the provider asks, never to present a truncated answer as complete, and to record each failure in the application's metrics. We state these expectations as a six-clause reliability contract and measure Spring AI 2.0.1 and LangChain4j 1.21.0 against it with a scripted OpenAI-compatible provider: fifteen failure scenarios, synchronous and streaming, three repetitions. LangChain4j meets it in 47 of 77 applicable cases with its defaults and in 51 of 83 when configured explicitly, Spring AI in 72 of 77 and 76 of 83; both deliver a stream that ended without its terminator as a complete answer. We then place one implementation of the contract beneath both frameworks, at the HTTP boundary - an OkHttp interceptor for Spring AI, an HttpClient for LangChain4j, and a java.net.http transport for code without a framework - sharing a 725-line core that depends only on the JDK and the Micrometer Observation API. With it, all three clients behave identically and meet the contract in 90 of 91 cases; the remaining case is a policy trade-off between retrying a hung provider and waiting for a slow first token. Against a local model server the layer rejected none of 700 calls, and it adds a median of 32-217 microseconds to a call.

Sun 18 OctMachine Learning
The gist
Keeping large language model calls reliable in Java apps is tricky because the model might fail or respond slowly. The authors set clear rules for how tools should handle failures and tested two popular Java frameworks, finding inconsistencies. They then built a shared layer that ensures consistent, reliable call handling across these tools, improving performance and meeting nearly all their reliability standards. This helps developers trust that their apps get complete answers or retry appropriately without extra delays.
Open → 2610.25480v1

Java tool prevents unauthorized database access by rewriting SQL commands

IDORacle: Template-Guided SQL-Sink Mediation for Object-Level Authorization in Java Applications

Abstract: Insecure Direct Object Reference (IDOR), often modeled as Broken Object-Level Authorization (BOLA), remains prevalent in Java database applications because identity and authorization checks at the controller or service layer are disconnected from SQL execution based on resource identifiers. Existing work largely detects these vulnerabilities but offers limited low-intrusion runtime protection for legacy Java-SQL applications. We present IDORacle, a template-guided SQL-sink interception and rewriting framework for preventing horizontal privilege escalation at runtime. IDORacle propagates authenticated identity context across HTTP requests, asynchronous tasks, and data-access boundaries through a server-side trace identifier. At the MyBatis/JDBC boundary, it extracts SQL templates, computes dual fingerprints, and performs one-time template analysis to generate reusable mediation plans. During execution, it combines subject context, SQL ASTs, table metadata, and cached authorization proofs to permit, rewrite, or block operations. Its guard model supports direct ownership predicates, join-derived ownership, probes for group-owned resources, role-sensitive state transitions, and sensitive-column mediation. A Java-SQL benchmark grounded in real-world CVE reports shows that IDORacle prevents the tested horizontal authorization violations with a worst-case guard latency of 0.17 ms. Redundancy-aware optimization reduces average per-instance overhead by more than 90%, to 0.017 ms for hot SQL templates.

Fri 11 SeptCryptography and Security
The gist
Web applications often make mistakes that let users access data they shouldn't see, a problem known as broken object-level authorization. The authors created IDORacle, a tool that watches and changes database commands on the fly to stop users from accessing data they don’t own or shouldn’t see. It tracks who is making requests and checks the data queries to allow, rewrite, or block them as needed. This helps keep Java applications safer without needing big changes to existing code.
Open → 2609.12426v1