Professor Meir M. Lehman proposed the law of software evolution. He divided the laws into three categories: S-type (Static), P-type (Practical), and E-type (Embedded).