An analysis of anti-micro-patterns effects on fault-proneness in large Java systems