2011 · 90 citations · 37 references
Software MaintenanceCluster ComputingEngineeringSoftware EngineeringSource Code AnalysisSemanticsSoftware AnalysisCorpus LinguisticsText MiningLexical InformationEmpirical Software Engineering ResearchData ScienceData MiningComputational LinguisticsSystem SoftwareLanguage StudiesDifferent DictionariesSoftware MiningDocument ClusteringSource CodeComputational LexicologyKnowledge DiscoveryTerminology ExtractionComputer ScienceInformation ManagementSoftware DesignContent Similarity DetectionLexical ResourceProgram AnalysisLinguisticsSource Code StatementsSemantic Similarity
Developers have a lot of freedom in writing comments as well as in choosing identifiers and method names. These are intentional in nature and provide a different relevance of information to understand what a software system implements, and in particular the role of each source file. In this paper we investigate the effectiveness of exploiting lexical information for software system clustering. In particular we explore the contribution of the combined use of six different dictionaries, corresponding to the six parts of the source code where programmers introduce lexical information, namely: class, attribute, method and parameter names, comments, and source code statements. Their relevance has been weighted by means of a probabilistic model, whose parameters have been estimated by the Expectation-Maximization algorithm. To group source files accordingly we used a hierarchical clustering algorithm. The investigation has been conducted on a dataset of 13 open source Java software systems.
37
Indexing by latent semantic analysis
Scott Deerwester, Susan Dumais, George W. Furnas et al. · Journal of the American Society for Information Science · 1990 · 12.7K citations
Authoritative sources in a hyperlinked environment
Jon Kleinberg · Journal of the ACM · 1999 · 9K citations · Full text
A Survey of Recent Advances in Hierarchical Clustering Algorithms
Fionn Murtagh · The Computer Journal · 1983 · 1K citations · Full text