程序SHRDLU是使用LISP与PLANNER开发的，当时LISP语言还处于发展时期，因此SHRDLU使用了很多非标准的zh-hans:宏; zh-hant:巨集与软件库。这使得它在现代计算机环境上都不能运行。
重构.代码重构是一种解决软件腐败的方法。