The concept assignment problem in program understanding
ICSE '93 Proceedings of the 15th international conference on Software Engineering
Modern Information Retrieval
Introduction to Modern Information Retrieval
Introduction to Modern Information Retrieval
Locating Features in Source Code
IEEE Transactions on Software Engineering
Case Study of Feature Location Using Dependence Graph
IWPC '00 Proceedings of the 8th International Workshop on Program Comprehension
Source Code Files as Structured Documents
IWPC '02 Proceedings of the 10th International Workshop on Program Comprehension
Using a Concept Lattice of Decomposition Slices for Program Understanding and Impact Analysis
IEEE Transactions on Software Engineering
A comparison of methods for locating features in legacy software
Journal of Systems and Software
Identification of High-Level Concept Clones in Source Code
Proceedings of the 16th IEEE international conference on Automated software engineering
Incremental Change in Object-Oriented Programming
IEEE Software
Extracting Facts from Open Source Software
ICSM '04 Proceedings of the 20th IEEE International Conference on Software Maintenance
Chianti: a tool for change impact analysis of java programs
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Aspect Mining through the Formal Concept Analysis of Execution Traces
WCRE '04 Proceedings of the 11th Working Conference on Reverse Engineering
An Information Retrieval Approach to Concept Location in Source Code
WCRE '04 Proceedings of the 11th Working Conference on Reverse Engineering
How Effective Developers Investigate Source Code: An Exploratory Study
IEEE Transactions on Software Engineering
Static Techniques for Concept Location in Object-Oriented Code
IWPC '05 Proceedings of the 13th International Workshop on Program Comprehension
Hipikat: A Project Memory for Software Development
IEEE Transactions on Software Engineering
Automatic generation of suggestions for program investigation
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Identifying traits with formal concept analysis
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
Advancing Candidate Link Generation for Requirements Tracing: The Study of Methods
IEEE Transactions on Software Engineering
Can LSI help Reconstructing Requirements Traceability in Design and Test?
CSMR '06 Proceedings of the Conference on Software Maintenance and Reengineering
SNIAFL: Towards a static noninteractive approach to feature location
ACM Transactions on Software Engineering and Methodology (TOSEM)
JIRiSS - an Eclipse plug-in for Source Code Exploration
ICPC '06 Proceedings of the 14th IEEE International Conference on Program Comprehension
Isolating and relating concerns in requirements using latent semantic analysis
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Allowing Overlapping Boundaries in Source Code using a Search Based Approach to Concept Binding
ICSM '06 Proceedings of the 22nd IEEE International Conference on Software Maintenance
Source Code Exploration with Google
ICSM '06 Proceedings of the 22nd IEEE International Conference on Software Maintenance
Using task context to improve programmer productivity
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Industrial tools for the feature location problem: an exploratory study: Practice Articles
Journal of Software Maintenance and Evolution: Research and Practice
Using natural language program analysis to locate and understand action-oriented concerns
Proceedings of the 6th international conference on Aspect-oriented software development
Semantic clustering: Identifying topics in source code
Information and Software Technology
Feature Identification: An Epidemiological Metaphor
IEEE Transactions on Software Engineering
IEEE Transactions on Software Engineering
IEEE Transactions on Software Engineering
Combining Formal Concept Analysis with Information Retrieval for Concept Location in Source Code
ICPC '07 Proceedings of the 15th IEEE International Conference on Program Comprehension
From Reality to Programs and (Not Quite) Back Again
ICPC '07 Proceedings of the 15th IEEE International Conference on Program Comprehension
A Comparative Study of Three Program Exploration Tools
ICPC '07 Proceedings of the 15th IEEE International Conference on Program Comprehension
ACM Transactions on Software Engineering and Methodology (TOSEM)
Does a programmer's activity indicate knowledge of code?
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Exploring the neighborhood with dora to expedite software maintenance
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Feature location via information retrieval based filtering of a single scenario execution trace
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
AMAP: automatically mining abbreviation expansions in programs to enhance software maintenance tools
Proceedings of the 2008 international working conference on Mining software repositories
Using the Conceptual Cohesion of Classes for Fault Prediction in Object-Oriented Systems
IEEE Transactions on Software Engineering
ICPC '08 Proceedings of the 2008 The 16th IEEE International Conference on Program Comprehension
Asking and Answering Questions during a Programming Change Task
IEEE Transactions on Software Engineering
Do Crosscutting Concerns Cause Defects?
IEEE Transactions on Software Engineering
Automated Concept Location Using Independent Component Analysis
WCRE '08 Proceedings of the 2008 15th Working Conference on Reverse Engineering
Source Code Retrieval for Bug Localization Using Latent Dirichlet Allocation
WCRE '08 Proceedings of the 2008 15th Working Conference on Reverse Engineering
Using information retrieval based coupling measures for impact analysis
Empirical Software Engineering
An information retrieval process to aid in the analysis of code clones
Empirical Software Engineering
Empirical Software Engineering
A survey of Web clustering engines
ACM Computing Surveys (CSUR)
Automatically capturing source code context of NL-queries for software maintenance and reuse
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Mining source code to automatically split identifiers for software analysis
MSR '09 Proceedings of the 2009 6th IEEE International Working Conference on Mining Software Repositories
MSR '09 Proceedings of the 2009 6th IEEE International Working Conference on Mining Software Repositories
Analyzing the co-evolution of comments and source code
Software Quality Control
Incremental Latent Semantic Indexing for Automatic Traceability Link Evolution Management
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
Delving source code with formal concept analysis
Computer Languages, Systems and Structures
Benchmarking Lightweight Techniques to Link E-Mails and Source Code
WCRE '09 Proceedings of the 2009 16th Working Conference on Reverse Engineering
Linking e-mails and source code artifacts
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Summarizing software artifacts: a case study of bug reports
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
FLAT3: feature location and textual tracing tool
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2
Using Data Fusion and Web Mining to Support Feature Location in Software
ICPC '10 Proceedings of the 2010 IEEE 18th International Conference on Program Comprehension
Extracting Source Code from E-Mails
ICPC '10 Proceedings of the 2010 IEEE 18th International Conference on Program Comprehension
Towards automatically generating summary comments for Java methods
Proceedings of the IEEE/ACM international conference on Automated software engineering
On the Use of Automated Text Summarization Techniques for Summarizing Source Code
WCRE '10 Proceedings of the 2010 17th Working Conference on Reverse Engineering
Can Better Identifier Splitting Techniques Help Feature Location?
ICPC '11 Proceedings of the 2011 IEEE 19th International Conference on Program Comprehension
Concept lattices in software analysis
Formal Concept Analysis
Evaluating hierarchical clustering of search results
SPIRE'05 Proceedings of the 12th international conference on String Processing and Information Retrieval
Topology analysis of software dependencies
ACM Transactions on Software Engineering and Methodology (TOSEM)
Journal of Visual Languages and Computing
Sando: an extensible local code search framework
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
Portfolio: Searching for relevant functions and their usages in millions of lines of code
ACM Transactions on Software Engineering and Methodology (TOSEM) - Testing, debugging, and error handling, formal methods, lifecycle concerns, evolution and maintenance
Hi-index | 0.00 |
The article addresses the problem of concept location in source code by proposing an approach that combines Formal Concept Analysis and Information Retrieval. In the proposed approach, Latent Semantic Indexing, an advanced Information Retrieval approach, is used to map textual descriptions of software features or bug reports to relevant parts of the source code, presented as a ranked list of source code elements. Given the ranked list, the approach selects the most relevant attributes from the best ranked documents, clusters the results, and presents them as a concept lattice, generated using Formal Concept Analysis. The approach is evaluated through a large case study on concept location in the source code on six open-source systems, using several hundred features and bugs. The empirical study focuses on the analysis of various configurations of the generated concept lattices and the results indicate that our approach is effective in organizing different concepts and their relationships present in the subset of the search results. In consequence, the proposed concept location method has been shown to outperform a standalone Information Retrieval based concept location technique by reducing the number of irrelevant search results across all the systems and lattice configurations evaluated, potentially reducing the programmers' effort during software maintenance tasks involving concept location.