Program lifecycle phase
A program lifecycle phase is a period of time during which a certain activity applies to a computer program over the course of its entire life – from creation to deployment to use and finally end-of-life.
The phases do not necessarily occur in linear order. For example, when modifying a program, developers generally edit, compile, install, and execute it repeatedly to ensure quality before it is distributed to users.
Phases
Edit time, a.k.a. design time, is when a programmer authors source code. This includes initial creation, refactoring, fixing bugs, and adding features. Sometimes the programmer uses automated design tools and metaprogramming systems, but often they edit source code with a text editor.
Compile time is when a compiler translates source code into machine code. The result is often a collection of object files.
Link time is when the machine code (object files) is assembled as the executable program.
Distribution time is when the program is transferred to a user. A distribution is typically one or more files which can be on physical media such as a USB flash drive or downloaded via the Internet.
Installation time is when the program is copied onto a computer's secondary storage so that it is runnable by the operating system (OS).
Load time is when the OS copies the program executable from storage into active memory so that it is accessible to the central processing unit (CPU).
Run time is when the CPU executes the program's machine code instructions.