  Before implementing a function, programmers are encouraged to write a purpose
statement i.e., a short, natural-language explanation of what the function
computes. A purpose statement may be ambiguous i.e., it may fail to specify the
intended behaviour when two or more inequivalent computations are plausible on
certain inputs. Our paper makes four contributions. First, we propose a novel
heuristic that suggests such inputs using Large Language Models (LLMs). Using
these suggestions, the programmer may choose to clarify the purpose statement
(e.g., by providing a functional example that specifies the intended behaviour
on such an input). Second, to assess the quality of inputs suggested by our
heuristic, and to facilitate future research, we create an open dataset of
purpose statements with known ambiguities. Third, we compare our heuristic
against GitHub Copilot's Chat feature, which can suggest similar inputs when
prompted to generate unit tests. Fourth, we provide an open-source
implementation of our heuristic as an extension to Visual Studio Code for the
Python programming language, where purpose statements and functional examples
are specified as docstrings and doctests respectively. We believe that this
tool will be particularly helpful to novice programmers and instructors.
