  Building on the computer science concept of code smells, we initiate the
study of law smells, i.e., patterns in legal texts that pose threats to the
comprehensibility and maintainability of the law. With five intuitive law
smells as running examples - namely, duplicated phrase, long element, large
reference tree, ambiguous syntax, and natural language obsession -, we develop
a comprehensive law smell taxonomy. This taxonomy classifies law smells by when
they can be detected, which aspects of law they relate to, and how they can be
discovered. We introduce text-based and graph-based methods to identify
instances of law smells, confirming their utility in practice using the United
States Code as a test case. Our work demonstrates how ideas from software
engineering can be leveraged to assess and improve the quality of legal code,
thus drawing attention to an understudied area in the intersection of law and
computer science and highlighting the potential of computational legal
drafting.
