Or to put it more clearly: Peer reviewed software design knowledge accumulation using statefull mechanical embodiment as formal proofs as a basis of mechanical understanding of Turing-space.
I think design engineering is a science by virtue of requiring a hypothesis of the mind which needs to be tested to fail mechanically, modifying the model as tests fail. Then your implementation engineering is making both tests the pure engineering for utility which produces a written documentation of the result.
I’d even put product design, architecture (at least with models) into the same mix which of course is contraversal because traditionally half the steps have been done entirely in the mind. The finally built product is probably not science, but the rest of the process?
I admit that none of these fields have great track records of recording their research in published journals or even formalising their testing in automated suites. And although software mathematics does publish a great deal of interesting things, are we not considering a lot of published code as potentially rough drafts of interesting mechanics in code?