Argument selection defects, in which the programmer chooses the wrong argument to pass to a parameter from a potential set of arguments in a function call, is a widely investigated problem. The compiler can detect such misuse of arguments only through the argument and parameter type for statically typed programming languages. When adjacent parameters have the same type or can be converted between one another, a swapped or out of order call will not be diagnosed by compilers. Related research is usually confined to exact type equivalence, often ignoring potential implicit or explicit conversions. However, in current mainstream languages, like C++, built-in conversions between numerics and user-defined conversions may significantly increase t...
In C++, new features and semantics can be added to an existing software package without sweeping cod...
ManuscriptCompilers should be correct. To improve the quality of C compilers, we created Csmith, a r...
We propose a testing framework for validating static typing procedures in compilers. Our core compon...
This paper will discuss a study of parameter errors that occurred in a software product developed us...
Operator overloading allows the semantic extension of existing code without the need for sweeping c...
Flaws in computer software are a fact of life, both in small and large-scale applications. Compile...
Trivial Compiler Equivalence (TCE) has been recently proposed as an effective technique to detect eq...
Identifier names are often used by developers to convey additional information about the meaning of ...
Type checking is considered an important mechanism for detecting programming errors, especially inte...
Porting software usually requires understanding what library functions the program being ported uses...
Static analysis of programs in weakly typed languages such as C and C++ is generally not sound becau...
ManuscriptC's volatile qualifier is intended to provide a reliable link between operations at the so...
Foreign function interfaces (FFIs) allow components in different languages to communicate directly w...
This paper describes how to exploit some particular rules about generic programming implementation w...
We present a multi-lingual type inference system for checking type safety across a foreign function...
In C++, new features and semantics can be added to an existing software package without sweeping cod...
ManuscriptCompilers should be correct. To improve the quality of C compilers, we created Csmith, a r...
We propose a testing framework for validating static typing procedures in compilers. Our core compon...
This paper will discuss a study of parameter errors that occurred in a software product developed us...
Operator overloading allows the semantic extension of existing code without the need for sweeping c...
Flaws in computer software are a fact of life, both in small and large-scale applications. Compile...
Trivial Compiler Equivalence (TCE) has been recently proposed as an effective technique to detect eq...
Identifier names are often used by developers to convey additional information about the meaning of ...
Type checking is considered an important mechanism for detecting programming errors, especially inte...
Porting software usually requires understanding what library functions the program being ported uses...
Static analysis of programs in weakly typed languages such as C and C++ is generally not sound becau...
ManuscriptC's volatile qualifier is intended to provide a reliable link between operations at the so...
Foreign function interfaces (FFIs) allow components in different languages to communicate directly w...
This paper describes how to exploit some particular rules about generic programming implementation w...
We present a multi-lingual type inference system for checking type safety across a foreign function...
In C++, new features and semantics can be added to an existing software package without sweeping cod...
ManuscriptCompilers should be correct. To improve the quality of C compilers, we created Csmith, a r...
We propose a testing framework for validating static typing procedures in compilers. Our core compon...