software tool
Software, such as a computer program, routine, subroutine, program block, or program module, that can be used to develop, test, analyze, or maintain a computer program or its documentation. Note: Examples of software tools are automated software verification routines, compilers, program maintenance routines, bootstraps, program analyzers, and software monitors. [From Weik ’89]