Software features extraction from object-oriented source code using an overlapping clustering approach