English
Related papers

Related papers: A Non-Null Annotation Inferencer for Java Bytecode

200 papers

We introduce Fluid Annotation, an intuitive human-machine collaboration interface for annotating the class label and outline of every object and background region in an image. Fluid annotation is based on three principles: (I) Strong…

Computer Vision and Pattern Recognition · Computer Science 2018-12-21 Mykhaylo Andriluka , Jasper R. R. Uijlings , Vittorio Ferrari

During compilation from Java source code to bytecode, some information is irreversibly lost. In other words, compilation and decompilation of Java code is not symmetric. Consequently, the decompilation process, which aims at producing…

Software Engineering · Computer Science 2019-12-19 Nicolas Harrand , César Soto-Valero , Martin Monperrus , Benoit Baudry

Static program analysis tools are often required to work with only a small part of a program's source code, either due to the unavailability of the entire program or the lack of need to analyze the complete code. This makes it challenging…

Programming Languages · Computer Science 2020-09-14 Piyush Gupta , Nikita Mehrotra , Rahul Purandare

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…

Software Engineering · Computer Science 2024-06-25 Philipp Straubinger , Florian Obermüller , Gordon Fraser

We introduce a scalable, modular, and sound approach for automatically constructing formal security specifications for Java bytecode programs in the form of method summaries. A summary provides an abstract representation of a method's…

Cryptography and Security · Computer Science 2025-12-24 Narges Khakpour , Nicolas Berthier

This paper presents a logic based approach to debugging Java programs. In contrast with traditional debugging we propose a debugging methodology for Java programs using logical queries on individual execution states and also over the…

Programming Languages · Computer Science 2007-05-23 Hani Girgis , Bharat Jayaraman

High-quality and consistent annotations are fundamental to the successful development of robust machine learning models. Traditional data annotation methods are resource-intensive and inefficient, often leading to a reliance on third-party…

Computer Vision and Pattern Recognition · Computer Science 2024-02-12 Amir Ziai , Aneesh Vartakavi

Benefits of static type systems are well-known: they offer guarantees that no type error will occur during runtime and, inherently, inferred types serve as documentation on how functions are called. On the other hand, many type systems have…

Programming Languages · Computer Science 2020-08-31 Isabel Wingen , Philipp Körner

Many existing systems track aliasing and uniqueness, each with their own trade-off between expressiveness and developer effort. We propose Latte, a new approach that aims to minimize both the amount of annotations and the complexity of…

Programming Languages · Computer Science 2023-09-12 Conrad Zimmerman , Catarina Gamboa , Alcides Fonseca , Jonathan Aldrich

Many performance inefficiencies such as inappropriate choice of algorithms or data structures, developers' inattention to performance, and missed compiler optimizations show up as wasteful memory operations. Wasteful memory operations are…

Performance · Computer Science 2019-07-01 Pengfei Su , Qingsen Wang , Milind Chabbi , Xu Liu

State of the art analyzers in the Logic Programming (LP) paradigm are nowadays mature and sophisticated. They allow inferring a wide variety of global properties including termination, bounds on resource consumption, etc. The aim of this…

Programming Languages · Computer Science 2010-11-22 Elvira Albert , Miguel Gómez-Zamalloa , Laurent Hubert , German Puebla

Annotated data is an essential ingredient in natural language processing for training and evaluating machine learning models. It is therefore very desirable for the annotations to be of high quality. Recent work, however, has shown that…

Computation and Language · Computer Science 2022-09-27 Jan-Christoph Klie , Bonnie Webber , Iryna Gurevych

There has been growing interest in automatically predicting missing type annotations in programs written in Python and JavaScript. While prior methods have achieved impressive accuracy when predicting the most common types, they often…

Software Engineering · Computer Science 2023-03-20 Jiayi Wei , Greg Durrett , Isil Dillig

We present a type-based analysis ensuring memory safety and object protocol completion in the Java-like language Mungo. Objects are annotated with usages, typestates-like specifications of the admissible sequences of method calls. The…

Extending a given language with new dedicated features is a general and quite used approach to make the programming language more adapted to problems. Being closer to the application, this leads to less programming flaws and easier…

Logic in Computer Science · Computer Science 2010-03-26 Claude Kirchner , Pierre-Etienne Moreau , Cláudia Tavares

This paper presents an analysis of annotation using an automatic pre-annotation for a mid-level annotation complexity task -- dependency syntax annotation. It compares the annotation efforts made by annotators using a pre-annotated version…

Computation and Language · Computer Science 2023-06-16 Marie Mikulová , Milan Straka , Jan Štěpánek , Barbora Štěpánková , Jan Hajič

Over the past decades, context sensitivity has been considered as one of the most effective ideas for improving the precision of pointer analysis for Java. However, despite great precision benefits, as each method is equivalently cloned and…

Programming Languages · Computer Science 2023-04-25 Wenjie Ma , Shengyuan Yang , Tian Tan , Xiaoxing Ma , Chang Xu , Yue Li

We are trying to find source code comments that help programmers understand a nontrivial part of source code. One of such examples would be explaining to assign a zero as a way to "clear" a buffer. Such comments are invaluable to…

Software Engineering · Computer Science 2022-03-18 Yusuke Shinyama , Yoshitaka Arahori , Katsuhiko Gondow

In the last two decades, tools have been implemented to more formally specify the semantic analysis phase of a compiler instead of relying on handwritten code. In this paper, we introduce patterns and a method to translate a formal…

Programming Languages · Computer Science 2020-02-06 Uwe Meyer , Björn Pfarr

Code obfuscation is a popular approach to turn program comprehension and analysis harder, with the aim of mitigating threats related to malicious reverse engineering and code tampering. However, programming languages that compile to high…

Software Engineering · Computer Science 2019-01-16 Davide Pizzolotto , Mariano Ceccato