Citation
Al-Fawareh, Hamed Jasem Khaled
(2001)
Slicing Object Oriented Programs for Maintenance Purposes.
Doctoral thesis, Universiti Putra Malaysia.
Abstract
Object oriented approach is growing very fast in various applications of the
computer science. Those applications may contain a lot of entity relationships which,
need to be understood by the maintainers. These relationships (involving classes,
message, variables, etc.) will make maintainers and developers face several problems
to understand, make changes, modify, or enhance a huge software system that contains
thousands of classes without automatic aids. Therefore several problems arise in the
maintenance of object oriented program that is software understanding, complex
dependencies, inheritance, polymorphism and dynamic binding.
An approach for formally defining slices for object oriented programs is an
important problem in the maintenance phase. This thesis proposes definitions of slices for
object oriented programs. Basic relations such as Usage, Affect and Inheritance are
defined, and they are extended to a family of dependence relations between entities in
object oriented programs and defines slicing techniques based on these relations. Slice collection methods for specified slice criteria are given. This approach shows how the
proposed slicing concepts and rules can be applied within the software maintenance
process by giving an illustration through examples written by Java and Delphi
programming languages.
The research also develop a prototype of an object oriented system tool (02SMt)
which represent an automatically extractable and captures an object oriented software
system dependencies i n order to aid in maintenance phase. The dependencies occurs and
explain in this research are control dependence, statement dependence on a variable,
statement dependence on a method, variable dependence on statement, variable
dependent on a method, Class-Class dependence through usage, Class-Class dependence
through inheritance, Class-Class dependence for causing side effects, method
dependence on another method, and method dependence on a variable. The 02SMt
captures program slicing according to the slicing concepts, rules and definitions to feature
out the dependencies with the basic object oriented relations.
This research also, discusses an object oriented dependence graph (02DG). The
02DG categorized according levels. The first category is class-level involving a class to
another class. The second category is method-level involving a method or a statement
within a method to another method or variable in a class. The final category is statement level
which is basically intra-method involving statements within a given method. Slices,
intum, can also be categorized according to such levels of dependencies they intend to
capture.
Download File
Additional Metadata
Actions (login required)
|
View Item |