Title: Computing Ripple Effect For Object Oriented Software
1Computing Ripple Effect For Object Oriented
Software
- Haider Bilal and Sue Black
- Centre for Systems and Software Engineering
- Faculty of Business, Computing and Information
Management - London South Bank University
- Email bilalhz,blackse_at_lsbu.ac.uk
2Computing Ripple Effect ForObject Oriented
Software
- Ripple Effect Analysis
- Defining Ripple Effect
- Brief History Of Ripple Effect
- Haney - Module Connection Analysis, Applied
Matrix Algebra - Myers - Matrices, Quantify Matrix Independence
- Soong Joint Probability of Connection,
Stability Measure - Yau Collefello Not A Measure of Probability
- Complexity Measure
3Computing Ripple Effect ForObject Oriented
Software
- Ripple Effect Computation
- Ripple Effect Algorithm Reformulated, 2001
- Intramodule Intermodule Propagations
4Computing Ripple Effect ForObject Oriented
Software
- Ripple Effect Calculations
- Matrices V, Z, X C
- Aggregate of Intramodule Intermodule
- Ripple Effect Stability Tool (REST)
Matrix V - starting points for propagation Matrix
Z - Intramodule change propagation Matrix X -
Intermodule change propagation Matrix C - Module
McCabe complexity
5Computing Ripple Effect ForObject Oriented
Software
- Ripple Effect For OO
- Recasting Ripple Effect For OO Paradigm
- Module As The Basic Unit For Computation
- Intramodule Each Function Seen As A Module, Same
As Procedural - Intermodule A Range of Function Calls Types
Recognised - Function Called In Same Class anotherMemFunction(
) / ASuperClassMemFunction() - Public Function Calls Another Object
Object.memFunction() / ObjectPtr-gtmemFunc() - Calls To Static Functions AClassstaticMemFuncti
on() - Calls To Constructors AClass ptr new AClass
(ltparametersgt) - Ripple Effect Calculation For C
- Implicit Parameters Not Taken Into Account In
REST - Removing Classes From Code
- Converting Functions Into C Functions Data
Members Into Global Variables - Functions Called To/From Reliable Stable Classes
6Computing Ripple Effect ForObject Oriented
Software
- OO-Specific Issues
- Implicit Parameters
- Calls To A Methods Are Augmented By An Implicit
Parameter - Function Changes (Mutator) Target Object,
Implicit Variables Change - Considering All Pointers To Data Passed As
Parameters (Starting Points)? - In OO Most Object Calls Will Be Accessors, No
Change To State of Target Object - Pessimistic Measure of Ripple Effect,
Modification to consider Object Calls as Mutators
Or Accessors
7Computing Ripple Effect ForObject Oriented
Software
- OO-Specific Issues
- Polymorphic Calls
- Statically Compiled Procedural Programming
- Dynamic Run-Time Binding of Function Calls In OO
- Different Mix of Static Dynamic Binding, Java
C - A Client Call May Involve A Call To A Function
In A Derived Class - Treating Calling Code As If All Target Functions
Were Being Called - In C Function Tagged As Virtual Calling Code
invokes Function Via A Pointer - Increasing Potential Accuracy of Ripple Effect
Calculations In C
8Computing Ripple Effect ForObject Oriented
Software
- Issues To Be Considered
- Ripple Effect Algorithm Reformulation?
- REST Tool Modifications Required?
- Other OO-Specific Issues Need Consideration?
- Module As A Unit For Computation?
- Further Work Needed For Large Scale OO Systems?
- In OO, Lower Ripple Effect (i.e. Higher Logical
Stability)
9Computing Ripple Effect ForObject Oriented
Software