Properties of concurrent algorithms are usually divided into two categories:
Safety - something must not happen.
Properties in this category are for example partial correctness and sometimes deadlock-freedom (the latter depending on the author).
Liveness - something that must happen eventually.
Properties in this category are for example termination and starvation-freedom.
Which publication introduced these terms?
The oldest reference I was able to find is "Proving the Correctness of Multiprocess Programs" by Leslie Lamport, dated March 1977:
To prove the correctness of a program, one must prove two essentially different types of properties about it, which we call safety and liveness properties. [...]
It does, however, not claim to introduce these terms.