SMALLTALK-80: the interactive programming environment
SMALLTALK-80: the interactive programming environment
The C Information Abstraction System
IEEE Transactions on Software Engineering
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
Using Program Slicing in Software Maintenance
IEEE Transactions on Software Engineering
Support for Maintaining Object-Oriented Programs
IEEE Transactions on Software Engineering - Special issue on software maintenance
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
A new model of program dependences for reverse engineering
SIGSOFT '94 Proceedings of the 2nd ACM SIGSOFT symposium on Foundations of software engineering
Fuzzy set theory—and its applications (3rd ed.)
Fuzzy set theory—and its applications (3rd ed.)
Software reconnaissance: mapping program features to code
Journal of Software Maintenance: Research and Practice
Concept analysis—a new framework for program understanding
Proceedings of the 1998 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
An efficient relevant slicing method for debugging
ESEC/FSE-7 Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering
The Rational Unified Process: An Introduction, Second Edition
The Rational Unified Process: An Introduction, Second Edition
Logistic Regression Using the SAS System: Theory and Application
Logistic Regression Using the SAS System: Theory and Application
Locating Features in Source Code
IEEE Transactions on Software Engineering
Navigating and querying code without getting lost
Proceedings of the 2nd international conference on Aspect-oriented software development
ICSM '96 Proceedings of the 1996 International Conference on Software Maintenance
Locating Program Features using Execution Slices
ASSET '99 Proceedings of the 1999 IEEE Symposium on Application - Specific Systems and Software Engineering and Technology
Variable Precision Reaching Definitions Analysis for Software Maintenance
CSMR '97 Proceedings of the 1st Euromicro Working Conference on Software Maintenance and Reengineering (CSMR '97)
Recovering Code to Documentation Links in OO System
WCRE '99 Proceedings of the Sixth Working Conference on Reverse Engineering
Incremental Slicing Based on Data-Dependences Types
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
SNIAFL: Towards a Static Non-Interactive Approach to Feature Location
Proceedings of the 26th International Conference on Software Engineering
An Empirical Comparison of Dynamic Impact Analysis Algorithms
Proceedings of the 26th International Conference on Software Engineering
Mining Version Histories to Guide Software Changes
Proceedings of the 26th International Conference on Software Engineering
Predicting Source Code Changes by Mining Change History
IEEE Transactions on Software Engineering
A Hierarchy of Dynamic Software Views: From Object-Interactions to Feature-Interactions
ICSM '04 Proceedings of the 20th IEEE International Conference on Software Maintenance
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
Mylar: a degree-of-interest model for IDEs
Proceedings of the 4th international conference on Aspect-oriented software development
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
Dynamic Feature Traces: Finding Features in Unfamiliar Code
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
Feature Identification: A Novel Approach and a Case Study
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
ConcernMapper: simple view-based separation of scattered concerns
eclipse '05 Proceedings of the 2005 OOPSLA workshop on Eclipse technology eXchange
Tracking Concerns in Evolving Source Code: An Empirical Study
ICSM '06 Proceedings of the 22nd IEEE International Conference on Software Maintenance
Questions programmers ask during software evolution tasks
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Suade: Topology-Based Searches for Software Investigation
ICSE '07 Proceedings of the 29th international conference on Software Engineering
IEEE Transactions on Computers
A Visual Analytics Tool for Software Project Structure and Relationships among Classes
SG '09 Proceedings of the 10th International Symposium on Smart Graphics
Recommending change clusters to support software investigation: an empirical study
Journal of Software Maintenance and Evolution: Research and Practice - Working Conference on Reverse Engineering (WCRE 2008)
Detecting missing method calls in object-oriented software
ECOOP'10 Proceedings of the 24th European conference on Object-oriented programming
Improving program navigation with an active help system
Proceedings of the 2010 Conference of the Center for Advanced Studies on Collaborative Research
Detecting software modularity violations
Proceedings of the 33rd International Conference on Software Engineering
Finding relevant functions in millions of lines of code
Proceedings of the 33rd International Conference on Software Engineering
A practice-driven systematic review of dependency analysis solutions
Empirical Software Engineering
Generalizing evolutionary coupling with stochastic dependencies
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Minersoft: Software retrieval in grid and cloud computing infrastructures
ACM Transactions on Internet Technology (TOIT)
Systematizing pragmatic software reuse
ACM Transactions on Software Engineering and Methodology (TOSEM)
Concept location using formal concept analysis and information retrieval
ACM Transactions on Software Engineering and Methodology (TOSEM)
Detecting missing method calls as violations of the majority rule
ACM Transactions on Software Engineering and Methodology (TOSEM)
Empirical Software Engineering
On the impact of trace-based feature location in the performance of software maintainers
Journal of Systems and Software
Improving feature location practice with multi-faceted interactive exploration
Proceedings of the 2013 International Conference on Software Engineering
Measuring architecture quality by structure plus history analysis
Proceedings of the 2013 International Conference on Software Engineering
Combining concern input with program analysis for bloat detection
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Test-and-adapt: An approach for improving service interchangeability
ACM Transactions on Software Engineering and Methodology (TOSEM) - Testing, debugging, and error handling, formal methods, lifecycle concerns, evolution and maintenance
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
Software trustworthiness 2.0-A semantic web enabled global source code analysis approach
Journal of Systems and Software
Hi-index | 0.00 |
Before performing a modification task, a developer usually has to investigate the source code of a system to understand how to carry out the task. Discovering the code relevant to a change task is costly because it is a human activity whose success depends on a large number of unpredictable factors, such as intuition and luck. Although studies have shown that effective developers tend to explore a program by following structural dependencies, no methodology is available to guide their navigation through the thousands of dependency paths found in a nontrivial program. We describe a technique to automatically propose and rank program elements that are potentially interesting to a developer investigating source code. Our technique is based on an analysis of the topology of structural dependencies in a program. It takes as input a set of program elements of interest to a developer and produces a fuzzy set describing other elements of potential interest. Empirical evaluation of our technique indicates that it can help developers quickly select program elements worthy of investigation while avoiding less interesting ones.