Class structure refactoring of object-oriented softwares using community detection in dependency networks