A program that aids in the development of other programs. It may assist the programmer in the design, code, compile, link, edit, or debug phases.