The practical guide to structured systems design: 2nd edition
The practical guide to structured systems design: 2nd edition
Composing recursive logic programs with clausal join
New Generation Computing - Special Issue: Selected Papers from the Workshop on Partial Evaluation and Mixed
The relationship between slices and module cohesion
ICSE '89 Proceedings of the 11th international conference on Software engineering
Interprocedural slicing using dependence graphs
ACM Transactions on Programming Languages and Systems (TOPLAS)
IEEE Transactions on Software Engineering
Program integration for languages with procedure calls
ACM Transactions on Software Engineering and Methodology (TOSEM)
Software technology maturation
ICSE '85 Proceedings of the 8th international conference on Software engineering
Future trends in software evolution metrics
IWPSE '01 Proceedings of the 4th International Workshop on Principles of Software Evolution
IEEE Transactions on Software Engineering
Measuring Design-Level Cohesion
IEEE Transactions on Software Engineering
Algorithmic Analysis of the Impact of Changes to Object-Oriented Software
ICSM '96 Proceedings of the 1996 International Conference on Software Maintenance
ICSE '81 Proceedings of the 5th international conference on Software engineering
A Hybrid Reverse Engineering Approach Combining Metrics and Program Visualization
WCRE '99 Proceedings of the Sixth Working Conference on Reverse Engineering
Empirical Validation of Object-Oriented Metrics on Open Source Software for Fault Prediction
IEEE Transactions on Software Engineering
Introduction to Statistical Methods and Data Analysis (with CD-ROM)
Introduction to Statistical Methods and Data Analysis (with CD-ROM)
Software Structure Metrics Based on Information Flow
IEEE Transactions on Software Engineering
An empirical study of the relationship between the concepts expressed in source code and dependence
Journal of Systems and Software
An object-oriented high-level design-based class cohesion metric
Information and Software Technology
Program slicing-based cohesion measurement: the challenges of replicating studies using metrics
Proceedings of the 2nd International Workshop on Emerging Trends in Software Metrics
Improving the applicability of object-oriented class cohesion metrics
Information and Software Technology
Identification of extract method refactoring opportunities for the decomposition of methods
Journal of Systems and Software
Using structural and textual information to capture feature coupling in object-oriented software
Empirical Software Engineering
Coupling-based transformations of Z specifications into UML diagrams
Innovations in Systems and Software Engineering
Is there evolution before birth? deterioration effects of formal Z specifications
ICFEM'11 Proceedings of the 13th international conference on Formal methods and software engineering
Evaluating three approaches to extracting fault data from software change repositories
PROFES'10 Proceedings of the 11th international conference on Product-Focused Software Process Improvement
Method differentiator using slice-based cohesion metrics
Proceedings of the 12th annual international conference companion on Aspect-oriented software development
Object-oriented class maintainability prediction using internal quality attributes
Information and Software Technology
Investigating the evolution of code smells in object-oriented systems
Innovations in Systems and Software Engineering
Hi-index | 0.00 |
Software reengineering is a costly endeavor, due in part to the ambiguity of where to focus reengineering effort. Coupling and Cohesion metrics, particularly quantitative cohesion metrics, have the potential to aid in this identification and to measure progress. The most extensive work on such metrics is with slice-based cohesion metrics. While their use of semantic dependence information should make them an excellent choice for cohesion measurement, their wide spread use has been impeded in part by a lack of empirical study. Recent advances in software tools make, for the first time, a large-scale empirical study of slice-based cohesion and coupling metrics possible. Four results from such a study are presented. First, “head-to-head” qualitative and quantitative comparisons of the metrics identify which metrics provide similar views of a program and which provide unique views of a program. This study includes statistical analysis showing that slice-based metrics are not proxies for simple size-based metrics such as lines of code. Second, two longitudinal studies show that slice-based metrics quantify the deterioration of a program as it ages. This serves to validate the metrics: the metrics quantify the degradation that exists during development; turning this around, the metrics can be used to measure the progress of a reengineering effort. Third, baseline values for slice-based metrics are provided. These values act as targets for reengineering efforts with modules having values outside the expected range being the most in need of attention. Finally, slice-based coupling is correlated and compared with slice-based cohesion.