Bitwise operations are commonly used in low-level systems code to access multiple data fields that have been packed into a single word. Program analysis tools that reason about such programs must model the semantics of bitwise operations precisely in order to capture program control and data flow through these operations. We present a type system for subword data structures that explitictly tracks the flow of bit values in the program and identifies consecutive sections of vits as logical entities manipulated atomically by the programmer. Our type inference algorithm tags each integer value of the program with a bitvector type that identifies the data layout at the subword level. These types are used in a translation phase to remove bitwise...
The inference of program invariants over machine arithmetic, commonly called bit-vector arithmetic, ...
This dissertation is about verifying the correctness of low-level computer programs.This is challeng...
Highly dynamic languages like Smalltalk do not have much static type information immediately availab...
Bitwise operations are commonly used in low-level systems code to access multiple data fields that h...
This paper explains how the high-level treatment of datatypes in functional languages—using features...
International audienceIn a computer program, basic functionalities may be implemented using bit-wise...
This paper introduces a new type system that is designed for safe systems programming. A key feature...
In a computer program, basic functionalities may be implemented using bit-wise operations. To formal...
© 2012 Dr. Trevor Alexander HansenSoftware defects are a curse, they are so difficult to find that m...
International audienceInitially present only in functional languages such as OCaml and Haskell, Alge...
We present a compiler algorithm called Bit Value, which can discover both unused and constant bits i...
The theory of quantifier-free bitvectors is of paramount importance in software verification. The st...
The inference of program invariants over machine arithmetic, commonly called bit-vector arithmetic, ...
Initially present only in functional languages such as OCaml and Haskell, Algebraic Data Types (ADTs...
Low level code is challenging: It lacks structure, it uses jumps and symbolic addresses, the control...
The inference of program invariants over machine arithmetic, commonly called bit-vector arithmetic, ...
This dissertation is about verifying the correctness of low-level computer programs.This is challeng...
Highly dynamic languages like Smalltalk do not have much static type information immediately availab...
Bitwise operations are commonly used in low-level systems code to access multiple data fields that h...
This paper explains how the high-level treatment of datatypes in functional languages—using features...
International audienceIn a computer program, basic functionalities may be implemented using bit-wise...
This paper introduces a new type system that is designed for safe systems programming. A key feature...
In a computer program, basic functionalities may be implemented using bit-wise operations. To formal...
© 2012 Dr. Trevor Alexander HansenSoftware defects are a curse, they are so difficult to find that m...
International audienceInitially present only in functional languages such as OCaml and Haskell, Alge...
We present a compiler algorithm called Bit Value, which can discover both unused and constant bits i...
The theory of quantifier-free bitvectors is of paramount importance in software verification. The st...
The inference of program invariants over machine arithmetic, commonly called bit-vector arithmetic, ...
Initially present only in functional languages such as OCaml and Haskell, Algebraic Data Types (ADTs...
Low level code is challenging: It lacks structure, it uses jumps and symbolic addresses, the control...
The inference of program invariants over machine arithmetic, commonly called bit-vector arithmetic, ...
This dissertation is about verifying the correctness of low-level computer programs.This is challeng...
Highly dynamic languages like Smalltalk do not have much static type information immediately availab...