Has My Release Disobeyed Semantic Versioning? Static Detection Based on Semantic Differencing