The craft of software engineering
The craft of software engineering
Journal of Systems and Software - Software Engineering
Information Processing Letters
Integrating noninterfering versions of programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
The relationship between slices and module cohesion
ICSE '89 Proceedings of the 11th international conference on Software engineering
Estimating the number of test cases required to satisfy the all-du-paths testing criterion
TAV3 Proceedings of the ACM SIGSOFT '89 third symposium on Software testing, analysis, and verification
Interprocedural slicing using dependence graphs
ACM Transactions on Programming Languages and Systems (TOPLAS)
A philosophy for software measurement
Journal of Systems and Software - An Oregon workshop on software metrics
A mathematical perspective for software measures research
Software Engineering Journal
Software complexity: measures and methods
Software complexity: measures and methods
Using Program Slicing in Software Maintenance
IEEE Transactions on Software Engineering
An empirical evaluation (and specification) of the all-du-paths testing criterion
Software Engineering Journal
Software measure specification
SIGSOFT '93 Proceedings of the 1st ACM SIGSOFT symposium on Foundations of software engineering
Rule-based approach to computing module cohesion
ICSE '93 Proceedings of the 15th international conference on Software Engineering
Programmers use slices when debugging
Communications of the ACM
Software Metrics: A Rigorous Approach
Software Metrics: A Rigorous Approach
Software Measurement: A Necessary Scientific Basis
IEEE Transactions on Software Engineering
The Semantics of Program Slicing and Program Integration
TAPSOFT '89 Proceedings of the International Joint Conference on Theory and Practice of Software Development, Volume 2: Advanced Seminar on Foundations of Innovative Software Development II and Colloquium on Current Issues in Programming Languages
A discriminant metric for module cohesion
ICSE '84 Proceedings of the 7th international conference on Software engineering
ICSE '81 Proceedings of the 5th international conference on Software engineering
The program dependence graph in a software development environment
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Reuse through inheritance: a quantitative study of C++ software
SSR '95 Proceedings of the 1995 Symposium on Software reusability
Cohesion and reuse in an object-oriented system
SSR '95 Proceedings of the 1995 Symposium on Software reusability
System acquisition based on software product assessment
Proceedings of the 18th international conference on Software engineering
Slicing object-oriented software
Proceedings of the 18th international conference on Software engineering
Property-Based Software Engineering Measurement
IEEE Transactions on Software Engineering
Flow insensitive C++ pointers and polymorphism analysis and its application to slicing
ICSE '97 Proceedings of the 19th international conference on Software engineering
On assessing the complexity of software architectures
ISAW '98 Proceedings of the third international workshop on Software architecture
Defining and Validating Measures for Object-Based High-Level Design
IEEE Transactions on Software Engineering
SAC '00 Proceedings of the 2000 ACM symposium on Applied computing - Volume 2
Statistical Methods for Predicting and Improving Cohesion Using Information Flow: An Empirical Study
Software Quality Control
Measuring Design-Level Cohesion
IEEE Transactions on Software Engineering
Equivalence of conservative, free, linear program schemas is decidable
Theoretical Computer Science
Multi-View Software Evolution: A UML-based Framework for Evolving Object-Oriented Software
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Program Execution-Based Module Cohesion Measurement
Proceedings of the 16th IEEE international conference on Automated software engineering
Design-Level Cohesion Measures: Derivation, Comparison, and Applications
COMPSAC '96 Proceedings of the 20th Conference on Computer Software and Applications
Static Slicing of Concurrent Object-Oriented Programs
COMPSAC '96 Proceedings of the 20th Conference on Computer Software and Applications
Journal of Systems and Software
A user-assisted approach to component clustering
Journal of Software Maintenance: Research and Practice
Slicing, Chopping, and Path Conditions with Barriers
Software Quality Control
Analysis and Visualization of Predicate Dependence on Formal Parameters and Global Variables
IEEE Transactions on Software Engineering
Applications of clustering techniques to software partitioning, recovery and restructuring
Journal of Systems and Software - Special issue: Applications of statistics in software engineering
A brief survey of program slicing
ACM SIGSOFT Software Engineering Notes
Static and dynamic distance metrics for feature-based code analysis
Journal of Systems and Software
ConSUS: a light-weight program conditioner
Journal of Systems and Software - Special issue: Software reverse engineering
The Structural Complexity of Software: An Experimental Test
IEEE Transactions on Software Engineering
The interpretation and utility of three cohesion metrics for object-oriented design
ACM Transactions on Software Engineering and Methodology (TOSEM)
Effects of changing requirements: a tracking mechanism for the analysis workflow
Proceedings of the 2006 ACM symposium on Applied computing
Object-oriented cohesion subjectivity amongst experienced and novice developers: an empirical study
ACM SIGSOFT Software Engineering Notes
A formalisation of the relationship between forms of program slicing
Science of Computer Programming - Special issue on source code analysis and manipulation (SCAM 2005)
Program restructuring using clustering techniques
Journal of Systems and Software - Special issue: Selected papers from the 4th source code analysis and manipulation (SCAM 2004) workshop
Theoretical foundations of dynamic program slicing
Theoretical Computer Science
An empirical study of static program slice size
ACM Transactions on Software Engineering and Methodology (TOSEM)
Equivalence of linear, free, liberal, structured program schemas is decidable in polynomial time
Theoretical Computer Science
Empirical study of optimization techniques for massive slicing
ACM Transactions on Programming Languages and Systems (TOPLAS)
An empirical study of slice-based cohesion and coupling metrics
ACM Transactions on Software Engineering and Methodology (TOSEM)
Using computing-all-slices algorithm in measuring functional cohesion
SE'07 Proceedings of the 25th conference on IASTED International Multi-Conference: Software Engineering
Locating dependence structures using search-based slicing
Information and Software Technology
An architecture-centric software maintainability assessment using information theory
Journal of Software Maintenance and Evolution: Research and Practice
Dependence clusters in source code
ACM Transactions on Programming Languages and Systems (TOPLAS)
Measuring the Quality of Service Oriented Design
ICSOC-ServiceWave '09 Proceedings of the 7th International Joint Conference on Service-Oriented Computing
COMP-REF: a technique to guide the delegation of responsibilities to components in software systems
FASE'08/ETAPS'08 Proceedings of the Theory and practice of software, 11th international conference on Fundamental approaches to software engineering
An object-oriented high-level design-based class cohesion metric
Information and Software Technology
A survey of dynamic software metrics
Journal of Computer Science and Technology
Improving the applicability of object-oriented class cohesion metrics
Information and Software Technology
A Precise Method-Method Interaction-Based Cohesion Metric for Object-Oriented Classes
ACM Transactions on Software Engineering and Methodology (TOSEM)
Information and Software Technology
CIMMACS'11/ISP'11 Proceedings of the 10th WSEAS international conference on Computational Intelligence, Man-Machine Systems and Cybernetics, and proceedings of the 10th WSEAS international conference on Information Security and Privacy
Experimental assessment of software metrics using automated refactoring
Proceedings of the ACM-IEEE international symposium on Empirical software engineering and measurement
ACSAC'07 Proceedings of the 12th Asia-Pacific conference on Advances in Computer Systems Architecture
A heuristic approach to locate candidate web service in legacy software
International Journal of Computer Applications in Technology
Hi-index | 0.01 |
We examine the functional cohesion of procedures using a data slice abstraction. Our analysis identifies the data tokens that lie on more than one slice as the "glue" that binds separate components together. Cohesion is measured in terms of the relative number of glue tokens, tokens that lie on more than one data slice, and super-glue tokens, tokens that lie on all data slices in a procedure, and the adhesiveness of the tokens. The intuition and measurement scale factors are demonstrated through a set of abstract transformations.