English
Related papers

Related papers: A Reasonable C++ Wrappered Java Native Interface

200 papers

An important step toward adoption of formal methods in software development is support for mainstream programming languages. Unfortunately, these languages are often rather complex and come with substantial standard libraries. However, by…

Software Engineering · Computer Science 2018-06-01 Vladimír Štill , Petr Ročkai , Jiří Barnat

Explainable AI (XAI) tools represent a turn to more human-centered and human-in-the-loop AI approaches that emphasize user needs and perspectives in machine learning model development workflows. However, while the majority of ML resources…

Human-Computer Interaction · Computer Science 2024-04-03 Grace Guo , Dustin Arendt , Alex Endert

Modern programming languages, such as Java and C#, typically provide features that handle exceptions. These features separate error-handling code from regular source code and are proven to enhance the practice of software reliability,…

Software Engineering · Computer Science 2017-04-05 Guilherme B. de Pádua , Weiyi Shang

A fat API exposes nearly all of a C++ object's public attributes and methods to a consuming environment, such as a scripting language, or web client. This can be contrasted with a conventional, or thin API, where the API is defined up…

Programming Languages · Computer Science 2024-03-25 Russell K. Standish

Modern java programs consist of large number of classes as well as vast amount of objects instantiated during program execution. Software developers are always keen to know the number of objects created for each class. This information is…

Programming Languages · Computer Science 2014-06-10 Tufail Muhammad , Zahid Halim , Majid Ali Khan

A visual programming language uses pictorial tools such as diagrams to represent its structural units and control stream. It is useful for enhancing understanding, maintenance, verification, testing, and parallelism. This paper proposes a…

Programming Languages · Computer Science 2013-04-23 Sabah Al-Fedaghi

Worked examples (solutions to typical programming problems presented as a source code in a certain language and are used to explain the topics from a programming class) are among the most popular types of learning content in programming…

Human-Computer Interaction · Computer Science 2024-03-01 Mohammad Hassany , Peter Brusilovsky , Jiaze Ke , Kamil Akhuseyinoglu , Arun Balajiee Lekshmi Narayanan

Meta-compiler frameworks, such as RPython and Graal/Truffle, generate high-performance virtual machines (VMs) from interpreter definitions. Although they generate VMs with high-quality just-in-time (JIT) compilers, they still lack an…

Programming Languages · Computer Science 2025-07-04 Yusuke Izawa , Hidehiko Masuhara , Carl Friedrich Bolz-Tereick

Statically analyzing dynamically-typed code is a challenging endeavor, as even seemingly trivial tasks such as determining the targets of procedure calls are non-trivial without knowing the types of objects at compile time. Addressing this…

Machine Learning · Computer Science 2023-10-05 Lukas Seidel , Sedick David Baker Effendi , Xavier Pinho , Konrad Rieck , Brink van der Merwe , Fabian Yamaguchi

Large repositories of source code for research tend to limit their utility to static analysis of the code, as they give no guarantees on whether the projects are compilable, much less runnable in any way. The immediate consequence of the…

Software Engineering · Computer Science 2018-04-13 Pedro Martins , Rohan Achar , Cristina V. Lopes

This paper presents Warrior1, a tool that detects performance anti-patterns in C++ libraries. Many programs are slowed down by many small inefficiencies. Large-scale C++ applications are large, complex, and developed by large groups of…

Software Engineering · Computer Science 2020-10-20 Nadav Rotem , Lee Howes , David Goldblatt

Native language identification (NLI) is the task of training (via supervised machine learning) a classifier that guesses the native language of the author of a text. This task has been extensively researched in the last decade, and the…

Computation and Language · Computer Science 2022-08-03 Barbara Berti , Andrea Esuli , Fabrizio Sebastiani

NullPointerExceptions (NPEs) are a key source of crashes in modern Java programs. Previous work has shown how such errors can be prevented at compile time via code annotations and pluggable type checking. However, such systems have been…

Software Engineering · Computer Science 2019-07-05 Subarno Banerjee , Lazaro Clapp , Manu Sridharan

We study the problem of generating source code in a strongly typed, Java-like programming language, given a label (for example a set of API calls or types) carrying a small amount of information about the code that is desired. The generated…

Programming Languages · Computer Science 2018-04-16 Vijayaraghavan Murali , Letao Qi , Swarat Chaudhuri , Chris Jermaine

We give an introduction to the C++ library GiNaC, which extends the C++ language by new objects and methods for the representation and manipulation of arbitrary symbolic expressions.

High Energy Physics - Phenomenology · Physics 2009-11-11 Jens Vollinga

Concurrently coupled numerical simulations using heterogeneous solvers are powerful tools for modeling multiscale phenomena. However, major modifications to existing codes are often required to enable such simulations, posing significant…

Computational Physics · Physics 2015-05-18 Yu-Hang Tang , Shuhei Kudo , Xin Bian , Zhen Li , George E. Karniadakis

Variational algorithms are a representative class of quantum computing workloads that combine quantum and classical computing. This paper presents an LLVM-based C++ compiler toolchain to efficiently execute variational hybrid…

We present LeJit, a template-based framework for testing Java just-in-time (JIT) compilers. Like recent template-based frameworks, LeJit executes a template -- a program with holes to be filled -- to generate concrete programs given as…

Software Engineering · Computer Science 2024-07-09 Zhiqiang Zang , Fu-Yao Yu , Aditya Thimmaiah , August Shi , Milos Gligoric

Static verification of a program source code correctness is an important element of software reliability. Formal verification of software programs involves proving that a program satisfies a formal specification of its behavior. Many…

Software Engineering · Computer Science 2017-10-19 Daniel de Carvalho , Manuel Mazzara , Bogdan Mingela , Larisa Safina , Alexander Tchitchigin , Nikolay Troshkov

AI-based code assistants are promising tools that can facilitate and speed up code development. They exploit machine learning algorithms and natural language processing to interact with developers, suggesting code snippets (e.g., method…

Software Engineering · Computer Science 2024-02-15 Vincenzo Corso , Leonardo Mariani , Daniela Micucci , Oliviero Riganelli