That's C, baby. C!

09/13/2019
by   Roberto Bagnara, et al.
0

Hardly a week goes by at BUGSENG without having to explain to someone that almost any piece of C text, considered in isolation, means absolutely nothing. The belief that C text has meaning in itself is so common, also among seasoned C practitioners, that I thought writing a short paper on the subject was a good time investment. The problem is due to the fact that the semantics of the C programming language is not fully defined: non-definite behavior, predefined macros, different library implementations, peculiarities of the translation process, . . . : all these contribute to the fact that no meaning can be assigned to source code unless full details about the build are available. The paper starts with an exercise that admits a solution. The existence of this solution will hopefully convince anyone that, in general, unless the toolchain and the build procedure are fully known, no meaning can be assigned to any nontrivial piece of C code.

READ FULL TEXT

page 1

page 2

research
03/16/2022

A Language-Independent Analysis Platform for Source Code

In this paper, we present the CPG analysis platform, which enables the t...
research
05/18/2022

An approach to translating Haskell programs to Agda and reasoning about them

We are using the Agda programming language and proof assistant to formal...
research
08/02/2019

The meaning of a program change is a change to the program's meaning

Programming is the activity of modifying a program in order to bring abo...
research
08/08/2018

Neural Machine Translation Inspired Binary Code Similarity Comparison beyond Function Pairs

Binary code analysis allows analyzing binary code without having access ...
research
05/09/2023

Egocentric Hierarchical Visual Semantics

We are interested in aligning how people think about objects and what ma...
research
06/06/2018

Studying the Difference Between Natural and Programming Language Corpora

Code corpora, as observed in large software systems, are now known to be...

Please sign up or login with your details

Forgot password? Click here to reset