Static Detection of Brittle Parameter Typing


Motivation

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. 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.

We present a fully automatic, static analysis to find brittle parameter typing and unexpected arguments given to brittle parameters.


Paper

A paper describing our approach has been accepted for ISSTA 2012:

Michael Pradel, Severin Heiniger, and Thomas R. Gross
Static Detection of Brittle Parameter Typing
International Symposium on Software Testing and Analysis (ISSTA 2012)


Implementation and Experimental Data

You can download our implementation and all experimental data required to reproduce our results. The intended audience of this package are researchers that want to build upon our work or compare with it. Being a research prototype, our implementation will need some additional work to be usable for developers.

The source code of our implementation is made available under the GNU General Public License.