English
Related papers

Related papers: Code Obfuscation for the C/C++ Language

200 papers

The idea of using unfolding as a way of computing a program semantics has been applied successfully to logic programs and has shown itself a powerful tool that provides concrete, implementable results, as its outcome is actually source…

Programming Languages · Computer Science 2017-08-29 José María Rey-Poza , Julio Mariño-Carballo

We address the problem of automatic decompilation, converting a program in low-level representation back to a higher-level human-readable programming language. The problem of decompilation is extremely important for security researchers.…

Programming Languages · Computer Science 2019-05-22 Omer Katz , Yuval Olshaker , Yoav Goldberg , Eran Yahav

We propose a novel approach to improving software security called Cryptographic Path Hardening, which is aimed at hiding security vulnerabilities in software from attackers through the use of provably secure and obfuscated cryptographic…

Software Engineering · Computer Science 2012-02-03 Vijay Ganesh , Michael Carbin , Martin Rinard

In Computational Science, Engineering and Finance (CSEF) scripts typically serve as the "glue" between potentially highly complex and computationally expensive external subprograms. Differentiability of the resulting programs turns out to…

Mathematical Software · Computer Science 2021-12-07 Uwe Naumann

Increasing numbers of software vulnerabilities are discovered every year whether they are reported publicly or discovered internally in proprietary code. These vulnerabilities can pose serious risk of exploit and result in system…

In the last three decades, memory safety issues in system programming languages such as C or C++ have been one of the significant sources of security vulnerabilities. However, there exist only a few attempts with limited success to cope…

Software Engineering · Computer Science 2021-07-05 Felipe R. Monteiro , Mikhail R. Gadelha , Lucas C. Cordeiro

Writing documentation about software internals is rarely considered a rewarding activity. It is highly time-consuming and the resulting documentation is fragile when the software is continuously evolving in a multi-developer setting.…

Software Engineering · Computer Science 2013-11-13 Tobias Kuhn , Alexandre Bergel

The goal of voice anonymization is to modify an audio such that the true identity of its speaker is hidden. Research on this task is typically limited to the same English read speech datasets, thus the efficacy of current methods for other…

Audio and Speech Processing · Electrical Eng. & Systems 2025-07-03 Sarina Meyer , Ekaterina Kolos , Ngoc Thang Vu

The C preprocessor (CPP) is a standard tool for introducing variability into source programs and is often applied either implicitly or explicitly for implementing a Software Product Line (SPL). Despite its practical relevance, CPP has many…

Software Engineering · Computer Science 2021-04-13 David Baum , Christina Sixtus , Lisa Vogelsberg , Ulrich Eisenecker

Binary-source code matching plays an important role in many security and software engineering related tasks such as malware detection, reverse engineering and vulnerability assessment. Currently, several approaches have been proposed for…

Software Engineering · Computer Science 2022-01-20 Yi Gui , Yao Wan , Hongyu Zhang , Huifang Huang , Yulei Sui , Guandong Xu , Zhiyuan Shao , Hai Jin

The trend towards delegating data processing to a remote party raises major concerns related to privacy violations for both end-users and service providers. These concerns have attracted the attention of the research community, and several…

Cryptography and Security · Computer Science 2015-12-15 Youssef Gahi , Mouhcine Guennoun , Zouhair Guennoun , Khalil El-khatib

There is an emerging interest in the application of natural language processing models to source code processing tasks. One of the major problems in applying deep learning to software engineering is that source code often contains a lot of…

Software Engineering · Computer Science 2021-04-28 Nadezhda Chirkova , Sergey Troshin

Modern unified programming models (such as CUDA and SYCL) that combine host (CPU) code and GPU code into the same programming language, same file, and same lexical scope lack adequate support for GPU code specialization, which is a key…

Graphics · Computer Science 2022-07-19 Kerry A. Seitz , Theresa Foley , Serban D. Porumbescu , John D. Owens

Microcode is an abstraction layer used by modern x86 processors that interprets user-visible CISC instructions to hardware-internal RISC instructions. The capability to update x86 microcode enables a vendor to modify CPU behavior in-field,…

Cryptography and Security · Computer Science 2020-07-08 Benjamin Kollenda , Philipp Koppe , Marc Fyrbiak , Christian Kison , Christof Paar , Thorsten Holz

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

In contrast to software reverse engineering, there are hardly any tools available that support hardware reversing. Therefore, the reversing process is conducted by human analysts combining several complex semi-automated steps. However,…

Cryptography and Security · Computer Science 2019-10-02 Carina Wiesen , Nils Albartus , Max Hoffmann , Steffen Becker , Sebastian Wallat , Marc Fyrbiak , Nikol Rummel , Christof Paar

With the rapid increasing of software project size and maintenance cost, adherence to coding standards especially by managing identifier naming, is attracting a pressing concern from both computer science educators and software managers.…

Software Engineering · Computer Science 2014-06-03 Yanqing Wang , Chong Wang , Xiaojie Li , Sijing Yun , Minjing Song

With no intent of starting a holy war, this paper lists several annoying C++ birthmarks that the author has come across developing GUI class libraries. C++'s view of classes, instances and hierarchies appears tantalizingly close to GUI…

Programming Languages · Computer Science 2007-05-23 Oleg Kiselyov

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

Generic programming is an effective methodology for developing reusable software libraries. Many programming languages provide generics and have features for describing interfaces, but none completely support the idioms used in generic…

Programming Languages · Computer Science 2007-08-17 Jeremy G. Siek , Andrew Lumsdaine