Slicing Object Oriented Programs for Maintenance Purposes

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...

Full description

Saved in:
Bibliographic Details
Main Author: Al-Fawareh, Hamed Jasem Khaled
Format: Thesis
Language:English
English
Published: 2001
Subjects:
Online Access:http://psasir.upm.edu.my/id/eprint/9662/1/FSKTM_2001_6_IR.pdf
Tags: Add Tag
No Tags, Be the first to tag this record!
id my-upm-ir.9662
record_format uketd_dc
spelling my-upm-ir.96622023-12-04T01:55:27Z Slicing Object Oriented Programs for Maintenance Purposes 2001-07 Al-Fawareh, Hamed Jasem Khaled 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. Object-oriented methods (Computer science). Computer science. 2001-07 Thesis http://psasir.upm.edu.my/id/eprint/9662/ http://psasir.upm.edu.my/id/eprint/9662/1/FSKTM_2001_6_IR.pdf text en public doctoral Universiti Putra Malaysia Object-oriented methods (Computer science). Computer science. Faculty of Computer Science and Information Technology Abd. Ghani, Abdul Azim English
institution Universiti Putra Malaysia
collection PSAS Institutional Repository
language English
English
advisor Abd. Ghani, Abdul Azim
topic Object-oriented methods (Computer science).
Computer science.

spellingShingle Object-oriented methods (Computer science).
Computer science.

Al-Fawareh, Hamed Jasem Khaled
Slicing Object Oriented Programs for Maintenance Purposes
description 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.
format Thesis
qualification_level Doctorate
author Al-Fawareh, Hamed Jasem Khaled
author_facet Al-Fawareh, Hamed Jasem Khaled
author_sort Al-Fawareh, Hamed Jasem Khaled
title Slicing Object Oriented Programs for Maintenance Purposes
title_short Slicing Object Oriented Programs for Maintenance Purposes
title_full Slicing Object Oriented Programs for Maintenance Purposes
title_fullStr Slicing Object Oriented Programs for Maintenance Purposes
title_full_unstemmed Slicing Object Oriented Programs for Maintenance Purposes
title_sort slicing object oriented programs for maintenance purposes
granting_institution Universiti Putra Malaysia
granting_department Faculty of Computer Science and Information Technology
publishDate 2001
url http://psasir.upm.edu.my/id/eprint/9662/1/FSKTM_2001_6_IR.pdf
_version_ 1794018874488782848