14 papers · ranked by Valyu relevance
Jose E. Zalacain Llanes
There are many initiatives in presents-days for interaction between Java and Prolog programming languages. These initiatives allow combine two programming paradigms, Object Oriented Programming and Logic Programming. Every proposed interface has specifics features depending of the final use. The present paper…
Jialun Cao, Zhiyong Chen, Jia‐Rong Wu, Shing-Chi Cheung + 1 more
Large Language Models on JavaBench Authors: ['Jialun Cao' 'Zhiyong Chen' 'Jia‐Rong Wu' 'Shing-Chi Cheung' 'Chang Xu'] Code generation benchmarks such as HumanEval are widely adopted to evaluate LLMs' capabilities. However, after consolidating the latest 24 benchmarks, we noticed three significant imbalances. First…
Romain Brenguier, Lucas C. Cordeiro, Daniel Kroening, Peter Schrammel
'Peter Schrammel'] Abstract. JBMC is an open-source SAT- and SMT-based bounded model checking tool for verifying Java bytecode. JBMC relies on an operational model of the Java libraries, which conservatively approximates their semantics, to verify assertion violations, array out-of-bounds, unintended arithmetic…
Krzysztof Stuglik, Piotr Listkiewicz, Mateusz Kulczyk, Marcin Pietroń
'Marcin Pietroń'] Manual translation of the algorithms from sequential version to its parallel counterpart is time consuming and can be done only with the specific knowledge of hardware accelerator architecture, parallel programming or programming environment. The automation of this process makes porting the code much…
Federico Bono, Frank Reyes, Aman Sharma, Benoît Baudry + 1 more
Dependency Resolution and Java Classloading Authors: ['Federico Bono' 'Frank Reyes' 'Aman Sharma' 'Benoît Baudry' 'Martin Monperrus'] We introduce Java-Class-Hijack, a novel software supply chain attack that enables an attacker to inject malicious code by crafting a class that shadows a legitimate class that is in the…
Bjørnar Haugstad Jåtten, Simon Boye Jørgensen, Rasmus S. Petersen, Raúl Pardo
—In object-oriented languages software developers rely on thread-safe classes to implement concurrent applications. However, determining whether a class is thread-safe is a challenging task. This paper presents a highly scalable method to analyze thread-safety in Java classes. We provide a definition of threadsafety…
John MacCormick
This document is intended as a stand-alone textbook chapter to be used for introducing some functional programming concepts into a course in which the primary teaching language is Java. For details of the approach, please see the paper "Functional programming, in the data structures course, in Java" by J. MacCormick…
Bolun Li, Pengfei Su, Milind Chabbi, Shuyin Jiao + 1 more
Java is the "go-to" programming language choice for developing scalable enterprise cloud applications. In such systems, even a few percent CPU time savings can offer a significant competitive advantage and cost saving. Although performance tools abound in Java, those that focus on the data locality in the memory…
Jiawen Xiong, Yong Shi, Boyuan Chen, Filipe R. Cogo + 1 more
'Zhen Ming Jiang'] Build verifiability refers to the property that the build of a software system can be verified by independent third parties and it is crucial for the trustworthiness of a software system. Various efforts towards build verifiability have been made to C/C++-based systems, yet the techniques for…
Philipp Straubinger, Florian Obermüller, Gordon Fraser
—Java remains one of the most popular programming languages in education. Although Java programming education is well supported by study materials, learners also need more immediate support on the problems they face in their own code. When this support cannot be offered by educators personally, learners can resort to…
Matúš Sulír, Sergej Chodarev, Milan Nosáľ
Programming languages often demarcate the internal sandbox, consisting of entities such as objects and variables, from the outside world, e.g., files or network. Although communication with the external world poses fundamental challenges for live programming, reversible debugging, testing, and program analysis in…
Zhiyi Zhang, Pengfei Zhang, Qi Wang
—Java is very powerful, but in Deep Learning field, its capabilities probably hasn't been sufficiently exploited. Compared to the Java-based deep-learning-frameworks, the Python-based (PyTorch, TensorFlow, etc) are undoubtedly the mainstream, due to their easy-to-use, flexibility and better ecosystem. Dragon-Alpha is a…
Jiwei Yan, Jinhao Huang, Hengqin Yang, Jun Yan
为实现异常信息敏感的 API 生命周期模型构造,本文采用面向 Java 字节码的静态分析方法,首先提取框架 API 中的异 常抛出行为,生成异常摘要信息,然后通过多轮流式匹配策略获取异常信息的变更情况,构造异常信息敏感的 API 生命周期 模型。该方法:1)通过控制依赖语句切片提取异常抛出语句的关键触发条件,采用参数推断策略将局部变量的约束条件转 换为仅与外部输入参数相关的异常前断言,并基于自底向上的摘要传递实现跨过程异常摘要提取;2)通过关键信息精准匹 配和自适应模糊匹配策略,分析异常摘要信息的新增、删除和修改情况,最终得到异常敏感的 API 生命周期模型,共包含七 种 API 变更形式。基于该方法,实现了基于 Java…
Zhiqiang Zang, Aditya Thimmaiah, Milos Gligoric
We present JOG, a framework that facilitates developing Java JIT peephole optimizations alongside JIT tests. JOG enables developers to write a pattern, in Java itself, that specifies desired code transformations by writing code before and after the optimization, as well as any necessary preconditions. Such patterns can…