Software reconnaissance: mapping program features to code
Journal of Software Maintenance: Research and Practice
Reverse engineering of software threads: a design recovery technique for large multi-process systems
Journal of Systems and Software
Incremental Redocumentation Using the Web
IEEE Software
Early field experience with the Software Reconnaissance technique for program comprehension
ICSM '96 Proceedings of the 1996 International Conference on Software Maintenance
A Case Study of Feature Location in Unstructured Legacy Fortran Code
CSMR '01 Proceedings of the Fifth European Conference on Software Maintenance and Reengineering
METRICS '99 Proceedings of the 6th International Symposium on Software Metrics
TraceGraph: Immediate Visual Location of Software Features
ICSM '00 Proceedings of the International Conference on Software Maintenance (ICSM'00)
Incremental Location of Combined Features for Large-Scale Programs
ICSM '02 Proceedings of the International Conference on Software Maintenance (ICSM'02)
Static and dynamic distance metrics for feature-based code analysis
Journal of Systems and Software
Tool Writing: A Forgotten Art?
IEEE Software
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
Using information retrieval to support design of incremental change of software
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Understanding features in SOA: some experiences from distributed systems
Proceedings of the 2nd international workshop on Systems development in SOA environments
Proceedings of the 33rd International Conference on Software Engineering
Concept location using formal concept analysis and information retrieval
ACM Transactions on Software Engineering and Methodology (TOSEM)
Feature-oriented software evolution
Proceedings of the Seventh International Workshop on Variability Modelling of Software-intensive Systems
On the impact of trace-based feature location in the performance of software maintainers
Journal of Systems and Software
Hi-index | 0.00 |
Software engineers who maintain and enhance large systems often encounter the feature location problem: where in the many thousands of lines of code is a particular user feature implemented? Several methods of addressing the problem have been proposed, most of which involve tracing the execution of the system and analyzing the traces. Some supporting academic tools are available. However, companies that depend on the successful evolution of large systems are more likely to use new methods if they are supported by industrial-strength tools of known reliability. This article describes a study performed with Motorola, Inc. to see whether there were any pitfalls in using Metrowerks CodeTEST and Klocwork inSight for feature location on message-passing software similar to systems that Motorola maintains. These two tools were combined with TraceGraph, an academic trace comparison tool. The study identified two main problems. First, some ‘glue’ code and workarounds were needed to get CodeTEST to generate a trace for an interval of time in which the feature was operating. Second, getting information out of TraceGraph and into inSight was needlessly complicated for a user. However, with a moderate amount of work, the tool combination was effective in locating, understanding and documenting features. Study participants completed these steps in typically 3–4 hours per feature, studying only a few hundred lines out of a 200 000 line system. An ongoing project with Motorola is focused on improving tool integration with the hope of making feature location common practice at Motorola. Copyright © 2006 John Wiley & Sons, Ltd.