Crafting a compiler
Interprocedural slicing using dependence graphs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Replacing function parameters by global variables
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
IEEE Transactions on Software Engineering
Using Program Slicing in Software Maintenance
IEEE Transactions on Software Engineering
A specification driven slicing process for identifying reusable functions
Journal of Software Maintenance: Research and Practice
Program and interface slicing for reverse engineering
ICSE '93 Proceedings of the 15th international conference on Software Engineering
Semantics Guided Regression Test Cost Reduction
IEEE Transactions on Software Engineering
Static slicing of threaded programs
Proceedings of the 1998 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Computing ripple effect for software maintenance
Journal of Software Maintenance: Research and Practice
The C++ Programming Language, Third Edition
The C++ Programming Language, Third Edition
Locating Features in Source Code
IEEE Transactions on Software Engineering
Solving Demand Versions of Interprocedural Analysis Problems
CC '94 Proceedings of the 5th International Conference on Compiler Construction
An empirical study of predicate dependence levels and trends
Proceedings of the 25th International Conference on Software Engineering
Using Dependence Graphs as a Support to Document Programs
SCAM '02 Proceedings of the Second IEEE International Workshop on Source Code Analysis and Manipulation
High Integrity Software: The SPARK Approach to Safety and Security
High Integrity Software: The SPARK Approach to Safety and Security
Using a Concept Lattice of Decomposition Slices for Program Understanding and Impact Analysis
IEEE Transactions on Software Engineering
IWPC '01 Proceedings of the 9th International Workshop on Program Comprehension
Code Extraction Algorithms which Unify Slicing and Concept Assignment
WCRE '02 Proceedings of the Ninth Working Conference on Reverse Engineering (WCRE'02)
Program slices: formal, psychological, and practical investigations of an automatic program abstraction method
A Large-Scale Empirical Study of Forward and Backward Static Slice Size and Context Sensitivity
ICSM '03 Proceedings of the International Conference on Software Maintenance
A Multiple Hill Climbing Approach to Software Module Clustering
ICSM '03 Proceedings of the International Conference on Software Maintenance
Categorization of Common Coupling and Its Application to the Maintainability of the Linux Kernel
IEEE Transactions on Software Engineering
Re-engineering global variables in Ada
Proceedings of the 2004 annual ACM SIGAda international conference on Ada: The engineering of correct and reliable software for real-time & distributed systems using Ada and related technologies
Analysis and Visualization of Predicate Dependence on Formal Parameters and Global Variables
IEEE Transactions on Software Engineering
Locating Dependence Clusters and Dependence Pollution
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
Forward slices are smaller than backward slices
SCAM '05 Proceedings of the Fifth IEEE International Workshop on Source Code Analysis and Manipulation
On the Automatic Modularization of Software Systems Using the Bunch Tool
IEEE Transactions on Software Engineering
SCAM '06 Proceedings of the Sixth IEEE International Workshop on Source Code Analysis and Manipulation
An Empirical Study of Executable Concept Slice Size
WCRE '06 Proceedings of the 13th Working Conference on Reverse Engineering
An empirical study of static program slice size
ACM Transactions on Software Engineering and Methodology (TOSEM)
The impact of input domain reduction on search-based test data generation
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Empirical study of optimization techniques for massive slicing
ACM Transactions on Programming Languages and Systems (TOPLAS)
Locating dependence structures using search-based slicing
Information and Software Technology
Analysis of Procedure Splitability
WCRE '08 Proceedings of the 2008 15th Working Conference on Reverse Engineering
Analysis of Procedure Splitability
WCRE '08 Proceedings of the 2008 15th Working Conference on Reverse Engineering
An empirical study of the relationship between the concepts expressed in source code and dependence
Journal of Systems and Software
Proceedings of the 9th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Dependence cluster visualization
Proceedings of the 5th international symposium on Software visualization
Practical change impact analysis based on static program slicing for industrial software systems
Proceedings of the 33rd International Conference on Software Engineering
Minimizing the ripple effect of web-centric software by using the pheromone extension
Information Sciences: an International Journal
Efficient Identification of Linchpin Vertices in Dependence Clusters
ACM Transactions on Programming Languages and Systems (TOPLAS)
Coherent clusters in source code
Journal of Systems and Software
Hi-index | 0.00 |
This paper presents results of a study of the effect of global variables on the quantity of dependence in general and on the presence of dependence clusters in particular. The paper introduces a simple transformation-based analysis algorithm for measuring the impact of globals on dependence. It reports on the application of this approach to the detailed assessment of dependence in an empirical study of 21 programs consisting of just over 50K lines of code. The technique is used to identify global variables that have a significant impact upon program dependence and to identify and characterize the ways in which global variable dependence may lead to dependence clusters. In the study, over half of the programs include such a global variable and a quarter have one that is solely responsible for a dependence cluster.