LePUS3 is a formal specification and modeling language for object-oriented design that aims for scalability, automated design verifiability, visualization, pattern verification, abstraction in early design, genericity, and rigour. It uses small Codecharts with few symbols to model industrial-scale programs. The language allows tools to continuously keep the design in sync with implementation and to reverse-engineer legible Codecharts from source code. LePUS3 also allows tools to automatically determine if a program implements a design pattern.