Software and Systems Traceability provides a comprehensive description of the practices and theories of software traceability across all phases of the software development lifecycle. The term software traceability is derived from the concept of requirements traceability. Requirements traceability is the ability to track a requirement all the way from its origins to the downstream work products that implement that requirement in a software system. Software traceability is defined as the ability to relate the various types of software artefacts created during the development of software systems. Traceability relations can improve the quality of a product being developed, and reduce the time and cost of development. More specifically, traceability relations can support evolution of software systems, reuse of parts of a system by comparing components of new and existing systems, validation that a system meets its requirements, understanding of the rationale for certain design and implementation decisions, and analysis of the implications of changes in the system.