M-String Segmentation: A Refined Abstract Domain for String Analysis in C Programs