Information Processing Letters
Performance and reliability analysis of computer systems: an example-based approach using the SHARPE software package
Software metrics (2nd ed.): a rigorous and practical approach
Software metrics (2nd ed.): a rigorous and practical approach
Software reconnaissance: mapping program features to code
Journal of Software Maintenance: Research and Practice
Quantifying the closeness between program components and features
Journal of Systems and Software - Special issue on software maintenance
Software Visualization in the Large
Computer
Traceview: A Trace Visualization Tool
IEEE Software
IEEE Transactions on Software Engineering
Early field experience with the Software Reconnaissance technique for program comprehension
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
Dynamic Program Slicing in Understanding of Program Execution
WPC '97 Proceedings of the 5th International Workshop on Program Comprehension (WPC '97)
Industrial tools for the feature location problem: an exploratory study: Practice Articles
Journal of Software Maintenance and Evolution: Research and Practice
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
Understanding features in SOA: some experiences from distributed systems
Proceedings of the 2nd international workshop on Systems development in SOA environments
Feature location based on impact analysis
SEA '07 Proceedings of the 11th IASTED International Conference on Software Engineering and Applications
Code analyzer for an online course management system
Journal of Systems and Software
Using structural and textual information to capture feature coupling in object-oriented software
Empirical Software Engineering
Hi-index | 0.00 |
In this paper we present metrics to determine the distance between the features of a software system. Such a measurement can elucidate how features of the system being examined are close to each other. We first use an execution slice-based technique to identify a set of code (basic blocks in our case) that is used to implement each feature. Then, depending on whether the execution frequency of each block is considered during the construction of such sets of code, a static as well as a dynamic distance is computed for each pair of features. These two types of distance differ in that the former computes the distance between two features only by how these features are implemented in the system, while the latter also takes into account how each feature is executed based on a user's operational profile. In other words, the static distance quantitatively gives the closeness of two features from the system implementation point of view, whereas the dynamic distance presents such closeness from the users' execution point of view. To illustrate the use of our metrics, we report a case study on a Symbolic Hierarchical Automated Reliability and Performance Evaluator (SHARPE). The results of our study suggest that the distance metrics discussed in this paper can provide a good measurement, in a quantitative way, of how close two program features are. Such information can also serve as a good start to understanding how a modification made to one feature is likely to affect other features.