Program lifecycle phase
Program lifecycle phases are the stages a computer program undergoes, from initial creation to deployment and execution. The phases are edit time, compile time, link time, distribution time, installation time, load time, and run time.
Lifecycle phases do not necessarily happen in a linear order, and they can be intertwined in various ways. For example, when modifying a program, software developers may need to repeatedly edit, compile, install, and execute it on their own computers to ensure sufficient quality before it can be distributed to users; copies of the modified program are then downloaded, installed, and executed by users on their computers.
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.