How to effectively use topic models for software engineering tasks? An approach based on Genetic Algorithms
By Annibale Panichella, Bogdan Dit, Rocco Oliveto, Massimiliano Di Penta, Denys Poshyvanyk, Andrea De Lucia. International Conference on Software Engineering, 2013
337 citations recorded by the source corpus.
Information Retrieval (IR) methods, and in particular topic models, have recently been used to support essential software engineering (SE) tasks, by enabling software textual retrieval and analysis. In all these approaches, topic models have been used on software artifacts in a similar manner as they were used on natural language documents (e.g., using the same settings and parameters) because the underlying assumption was that source code and natural language documents are similar. However, applying topic models on software data using the same settings as for natural language text did not always produce the expected results. Recent research investigated this assumption and showed that source code is much more repetitive and predictable as compared to the natural language text. Our paper builds on this new fundamental finding and proposes a novel solution to adapt, configure and effectively use a topic modeling technique, namely Latent Dirichlet Allocation (LDA), to achieve better (acceptable) performance across various SE tasks. Our paper introduces a novel solution called LDA-GA, which uses Genetic Algorithms (GA) to determine a near-optimal configuration for LDA in the context of three different SE tasks: (1) traceability link recovery, (2) feature location, and (3) software artifact labeling. The results of our empirical studies demonstrate that LDA-GA is able to identify robust LDA configurations, which lead to a higher accuracy on all the datasets for these SE tasks as compared to previously published results, heuristics, and the results of a combinatorial search.
Subfields: Artificial Intelligence, Information Systems
View Paper: https://www.semanticscholar.org/paper/5ed409e2bee9203af02f63b0a57aa139f9ea2cc3
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Artificial Intelligence
- Charles Sutton
- Miltiadis Allamanis
- Hongyu Zhang
- Jaroslav M. Fowkes
- Han Liu
- Denys Poshyvanyk
- Yongli Wang
- Hamed Jelodar
In Information Systems
- Charles Sutton
- Miltiadis Allamanis
- Hongyu Zhang
- Denys Poshyvanyk
- Jaroslav M. Fowkes
- Han Liu
- Premkumar T. Devanbu
- Rafael-Michael Karampatsis
Citations in the corpus
- What are mobile developers asking about? A large scale study using stack overflow (2015, methodology): “[33], which assesses the quality of a LDA configuration by analyzing the dominant topic probability assigned to the documents.”
- Autofolding for Source Code Summarization (2014, background): “The use of topic models for source code has also been studied in depth [32], [40], [41], [42], [43], [44], [45].”
- Latent Dirichlet Allocation (2003, methodology): “[17] proposed LDA-GA, a genetic algorithm approach to searching for appropriate LDA hyper-parameters and parameters.”
- Learning to rank code examples for code search engines (2017, methodology): “Existing work [1][47] has explored to automatically calibrate the configurations using genetic algorithms.”
- Towards Better Program Obfuscation: Optimization via Language Models (2016, background): “In OLM, the probability is called perplexity .”
- The Impact of Automated Parameter Optimization on Defect Prediction Models (2018, neutral): “[103] and Lohar et al.”
- Software traceability: trends and future directions (2014, methodology): “used a Genetic Algorithm (GA) to discover the best way to parameterize Latent Semantic Indexing (LSI) [74].”
- Toward Deep Learning Software Repositories (2015, background): “SE research has examined similar problems in different contexts [68].”
- Latent Dirichlet allocation (LDA) and topic modeling: models, applications, a survey (2017, methodology): “They applied the Euclidean distance for measuring distance between documents and used Fast collapsed Gibbs sampling to approximate the posterior distributions of parameters [114].”
- A Novel Neural Source Code Representation Based on Abstract Syntax Tree (2019, methodology): “However, according to [17], the common problem of these approaches is that they assume the underlying corpus (i.e., the source code) is composed of natural language texts.”
- Exploring the use of deep learning for feature location (2015, background): “Multiple studies [7], [19] show that selection of appropriate parameter values is key to the performance of an LDA-based FLT.”
- Using Topic Modeling Methods for Short-Text Data: A Comparative Analysis (2020, background): “• Software engineering: mining unstructured repositories in the software industry such as source code, test, and bugs to support many engineering tasks like program comprehension and location (Panichella et al., 2013).”
- A Neural Architecture for Generating Natural Language Descriptions from Source Code Changes (2017, methodology): “The use natural language processing to support software engineering tasks has increased consistently over the years, mainly in terms of source code search, traceability and program feature location (Panichella et al., 2013; Asuncion et al., 2010).”