Untangling Composite Commits by Attributed Graph Clustering