Class ArgumentSelectionDefectChecker

All Implemented Interfaces:
BugChecker.MethodInvocationTreeMatcher, BugChecker.NewClassTreeMatcher, Suppressible, Serializable

public class ArgumentSelectionDefectChecker extends BugChecker implements BugChecker.MethodInvocationTreeMatcher, BugChecker.NewClassTreeMatcher
Checks the lexical distance between method parameter names and the argument names at call sites. If another permutation of the arguments produces a lower distance then it is possible that the programmer has accidentally reordered them.

Rice, Andrew, et al. "Detecting argument selection defects". Proceedings of the ACM on Programming Languages OOPSLA (2017).


  • Formal parameter - as given in the definition of the method
  • Actual parameter - as used in the invocation of the method
  • Parameter - either a formal or actual parameter
Author: (Andrew Rice)
See Also: