  Deep learning has demonstrated great abilities in various code generation
tasks. However, despite the great convenience for some developers, many are
concerned that the code generators may recite or closely mimic copyrighted
training data without user awareness, leading to legal and ethical concerns. To
ease this problem, we introduce a tool, named WhyGen, to explain the generated
code by referring to training examples. Specifically, we first introduce a data
structure, named inference fingerprint, to represent the decision process of
the model when generating a prediction. The fingerprints of all training
examples are collected offline and saved to a database. When the model is used
at runtime for code generation, the most relevant training examples can be
retrieved by querying the fingerprint database. Our experiments have shown that
WhyGen is able to precisely notify the users about possible recitations and
highly similar imitations with a top-10 accuracy of 81.21%. The demo video can
be found at https://youtu.be/EtoQP6850To.
