On the Coherence between Comments and Implementations in Source Code