English
Related papers

Related papers: C to O-O Translation: Beyond the Easy Stuff

200 papers

Formal modelling languages play a key role in the development of software since they enable users to prove correctness of system properties. However, there is still not a clear understanding on how to map a formal model to a specific…

Software Engineering · Computer Science 2017-06-15 Victor Rivera , JooYoung Lee , Manuel Mazzara , Leonard Johard

The equipment control (EC) software of the GSI accelerators has been written entirely in Pascal. Modern software development is based on C++ or Java. To be prepared for the future, we decided to convert the EC software from Pascal to C in a…

Accelerator Physics · Physics 2007-05-23 Ludwig Hechler

The object oriented programming paradigm is widely used in science and engineering. Many open and commercial libraries are written in C++ and increasingly provide bindings to Python, which is much easier to learn, but still partly…

Programming Languages · Computer Science 2023-12-22 Markus Kloimwieder , Christoph Gadermaier

Static program verifiers such as Spec#, Dafny, jStar, and VeriFast define the state of the art in automated functional verification techniques. The next open challenges are to make verification tools usable even by programmers not fluent in…

Software Engineering · Computer Science 2011-06-24 Julian Tschannen , Carlo A. Furia , Martin Nordio , Bertrand Meyer

Object-oriented programming languages such as Java and Objective C have become popular for implementing agent-based and other object-based simulations since objects in those languages can {\em reflect} (i.e. make runtime queries of an…

Programming Languages · Computer Science 2007-05-23 Duraid Madina , Russell K. Standish

The C Object System (Cos) is a small C library which implements high-level concepts available in Clos, Objc and other object-oriented programming languages: uniform object model (class, meta-class and property-metaclass), generic functions,…

Programming Languages · Computer Science 2010-03-15 Laurent Deniau

Newer technologies - programming languages, environments, libraries - change very rapidly. However, various internal and external constraints often prevent projects from quickly adopting to these changes. Customers may require specific…

Software Engineering · Computer Science 2024-05-14 Gábor Antal , Dávid Havas , István Siket , Árpád Beszédes , Rudolf Ferenc , József Mihalicza

C is the lingua franca of programming and almost any device can be programmed using C. However, programming mod-ern heterogeneous architectures such as multi-core CPUs and GPUs requires explicitly expressing parallelism as well as…

The aliasing question (can two reference expressions point, during an execution, to the same object?) is both one of the most critical in practice, for applications ranging from compiler optimization to programmer verification, and one of…

Software Engineering · Computer Science 2019-04-22 Victor Rivera , Bertrand Meyer

Object-oriented programming languages such as Java and Objective C have become popular for implementing agent-based and other object-based simulations since objects in those languages can {\em reflect} (i.e. make runtime queries of an…

Mathematical Software · Computer Science 2008-10-22 Russell K. Standish , Duraid Madina

Ensuring the correct functionality of systems software, given its safety-critical and low-level nature, is a primary focus in formal verification research and applications. Despite advances in verification tooling, conventional programmers…

Programming Languages · Computer Science 2025-04-04 Yiyuan Cao , Jiayi Zhuang , Houjin Chen , Jinkai Fan , Wenbo Xu , Zhiyi Wang , Di Wang , Qinxiang Cao , Yingfei Xiong , Haiyan Zhao , Zhenjiang Hu

Test or prove? These two approaches to software verification have long been presented as opposites. One is dynamic, the other static: a test executes the program, a proof only analyzes the program text. A different perspective is emerging,…

Software Engineering · Computer Science 2026-02-10 Li Huang , Bertrand Meyer , Manuel Oriol

A transcompiler, also known as source-to-source translator, is a system that converts source code from a high-level programming language (such as C++ or Python) to another. Transcompilers are primarily used for interoperability, and to port…

Computation and Language · Computer Science 2020-09-23 Marie-Anne Lachaux , Baptiste Roziere , Lowik Chanussot , Guillaume Lample

The aim of this work is to define and implement an extended C++ language to support the SIMD programming paradigm. The C++ programming language has been extended to express all the potentiality of an abstract SIMD machine consisting of a…

Programming Languages · Computer Science 2007-05-23 Alessandro Lonardo , Emanuele Panizzi , Benedetto Proietti

A successful automated program proof is, in software verification, the ultimate triumph. In practice, however, the road to such success is paved with many failed proof attempts. Unlike a failed test, which provides concrete evidence of an…

Software Engineering · Computer Science 2023-04-25 Li Huang , Bertrand Meyer

We present a framework for C code in C11 syntax deeply integrated into the Isabelle/PIDE development environment. Our framework provides an abstract interface for verification back-ends to be plugged-in independently. Thus, various…

Programming Languages · Computer Science 2019-12-24 Frédéric Tuong , Burkhart Wolff

Assembly-to-source code translation is a critical task in reverse engineering, cybersecurity, and software maintenance, yet systematic benchmarks for evaluating large language models on this problem remain scarce. In this work, we present…

Software Engineering · Computer Science 2025-12-02 Parisa Hamedi , Hamed Jelodar , Samita Bai , Mohammad Meymani , Roozbeh Razavi-Far , Ali A. Ghorbani

The growing adoption of Rust for its memory safety and performance has increased the demand for effective migration of legacy C codebases. However, existing rule-based translators (e.g., \ctorust) often generate verbose, non-idiomatic code…

Software Engineering · Computer Science 2026-03-31 Yanyan Yan , Yang Feng , Jiangshan Liu , Di Liu , Zixi Liu , Hao Teng , Baowen Xu

Modular reasoning about class invariants is challenging in the presence of dependencies among collaborating objects that need to maintain global consistency. This paper presents semantic collaboration: a novel methodology to specify and…

Software Engineering · Computer Science 2014-05-08 Nadia Polikarpova , Julian Tschannen , Carlo A. Furia , Bertrand Meyer

Large language models (LLMs) show promise in code translation - the task of translating code written in one programming language to another language - due to their ability to write code in most programming languages. However, LLM's…

Software Engineering · Computer Science 2025-04-18 Hasan Ferit Eniser , Hanliang Zhang , Cristina David , Meng Wang , Maria Christakis , Brandon Paulsen , Joey Dodds , Daniel Kroening
‹ Prev 1 2 3 10 Next ›