A transaction is a computation (i.e., program in execution) that accesses and possibly modifies a database:
Not the source code; not the binaries
Can be interleaved with other transactions
But guarantees certain correctness properties
The purpose of the transaction concept is to avoid the problems (“race conditions”) that may arise from interleaving