Component composition errors and update atomicity: static analysis