To avoid receiving incorrect arguments, a method specifies the expected type of each formal parameter. However, some parameter types are too general and have subtypes that the method does not expect as actual argument types. For ex-ample, this may happen if there is no common supertype that precisely describes all expected types. As a result of such brittle parameter typing, a caller may accidentally pass arguments unexpected by the callee without any warnings from the type system. This paper presents a fully auto-matic, static analysis to find brittle parameter typing and unexpected arguments given to brittle parameters. First, the analysis infers from callers of a method the types that arguments commonly have. Then, the analysis reports p...
Programmers using an API often must follow protocols that specify when it is legal to call particula...
<p>Programmers using an API often must follow protocols that specify when it is legal to call partic...
Software bugs are costly: they can have disastrous consequences on critical systems, but also on mor...
We propose a testing framework for validating static typing procedures in compilers. Our core compon...
The Java Card API provides a framework of classes and interfaces that hides the details of the under...
Abstract. The Java Card API provides a framework of classes and interfaces that hides the details of...
Abstract—Programmers using an API often must follow protocols that specify when it is legal to call ...
Abstract. The Java Card API provides a framework of classes and interfaces that hides the details of...
Static analysis has commonly beenknown as a technique for finding violations of superficial stylisti...
Source code is rich with signs carrying meaning that is incomprehensible to a compiler, but importan...
The main goal of a static type system is to prevent certain kinds of errors from happening at run ti...
The behavior of software using the Java Reflection API is fundamentally hard to predict by analyzing...
The behavior of software using the Java Reflection API is fundamentally hard to predict by analyzing...
The behavior of software that uses the Java Reflection API is fundamentally hard to predict by analy...
In this paper, we describe static analysis techniques for finding bugs in programs using the Java Na...
Programmers using an API often must follow protocols that specify when it is legal to call particula...
<p>Programmers using an API often must follow protocols that specify when it is legal to call partic...
Software bugs are costly: they can have disastrous consequences on critical systems, but also on mor...
We propose a testing framework for validating static typing procedures in compilers. Our core compon...
The Java Card API provides a framework of classes and interfaces that hides the details of the under...
Abstract. The Java Card API provides a framework of classes and interfaces that hides the details of...
Abstract—Programmers using an API often must follow protocols that specify when it is legal to call ...
Abstract. The Java Card API provides a framework of classes and interfaces that hides the details of...
Static analysis has commonly beenknown as a technique for finding violations of superficial stylisti...
Source code is rich with signs carrying meaning that is incomprehensible to a compiler, but importan...
The main goal of a static type system is to prevent certain kinds of errors from happening at run ti...
The behavior of software using the Java Reflection API is fundamentally hard to predict by analyzing...
The behavior of software using the Java Reflection API is fundamentally hard to predict by analyzing...
The behavior of software that uses the Java Reflection API is fundamentally hard to predict by analy...
In this paper, we describe static analysis techniques for finding bugs in programs using the Java Na...
Programmers using an API often must follow protocols that specify when it is legal to call particula...
<p>Programmers using an API often must follow protocols that specify when it is legal to call partic...
Software bugs are costly: they can have disastrous consequences on critical systems, but also on mor...