Supporting Software Engineering Via Lightweight Forward Static Slicing

Bibliographic Details
Main Author: Alomari, Hakam W.
Language:English
Published: Kent State University / OhioLINK 2012
Subjects:
Online Access:http://rave.ohiolink.edu/etdc/view?acc_num=kent1341996135
id ndltd-OhioLink-oai-etd.ohiolink.edu-kent1341996135
record_format oai_dc
spelling ndltd-OhioLink-oai-etd.ohiolink.edu-kent13419961352021-08-03T05:38:02Z Supporting Software Engineering Via Lightweight Forward Static Slicing Alomari, Hakam W. Computer Science Program slicing software maintenance impact analysis software metrics effort estimation The dissertation introduces an efficient and highly scalable lightweight forward static slicing approach. The implementation of the approach is applied, in novel ways, to large-scale software systems. Program slicing is a commonly used approach for understanding and detecting the impact of changes to software. That is, given a variable and the location of that variable in a program, the other parts of the program that are affected by this variable can be determined. The approach has been used successfully for many years for various maintenance tasks. For example, slicing was used to help address the Y2K problem by identifying parts of a program that could be impacted by changes on date fields. However, current approaches to program slicing are based on computing the program dependency graph (PDG) and computing the PDG can be very computationally expensive and scales poorly. Additionally, current approaches assume the system being examined can be completely compiled. This is not always the case when a system is undergoing maintenance, in particular during a platform change. The approach taken here does not compute the complete PDG, instead it determines program dependencies locally as needed when computing a slice for a give variable. Due to the efficient nature of the approach it is used to address a number of applications and problems that, in practice cannot be (or are extremely costly) to address with current heavyweight slicing approaches. The dissertation addresses the following specific problems in novel ways. The scalability of the approach is demonstrated for large-scale systems, specifically all the slices for 17 years of versions of the Linux kernel (over 900 versions) is performed. The tool is highly scalable and can generate the slices for all variables of the Linux kernel in less than 15 minutes. How slices change over the history of software system is investigated and slice-based software metrics are introduced that reflect maintenance effort. These metrics are extracted directly from the source code without any other metadata. An approach to estimate the maintenance effort for open-source systems using the new slice-based metrics is also developed. Three different granularities of slice sizes are analyzed. Lastly, different maintenance activities performed during the lifetime of large software systems are modeled with the objective to provide empirical support for Lehman’s laws of software evolution. 2012-07-12 English text Kent State University / OhioLINK http://rave.ohiolink.edu/etdc/view?acc_num=kent1341996135 http://rave.ohiolink.edu/etdc/view?acc_num=kent1341996135 unrestricted This thesis or dissertation is protected by copyright: all rights reserved. It may not be copied or redistributed beyond the terms of applicable copyright laws.
collection NDLTD
language English
sources NDLTD
topic Computer Science
Program slicing
software maintenance
impact analysis
software metrics
effort estimation
spellingShingle Computer Science
Program slicing
software maintenance
impact analysis
software metrics
effort estimation
Alomari, Hakam W.
Supporting Software Engineering Via Lightweight Forward Static Slicing
author Alomari, Hakam W.
author_facet Alomari, Hakam W.
author_sort Alomari, Hakam W.
title Supporting Software Engineering Via Lightweight Forward Static Slicing
title_short Supporting Software Engineering Via Lightweight Forward Static Slicing
title_full Supporting Software Engineering Via Lightweight Forward Static Slicing
title_fullStr Supporting Software Engineering Via Lightweight Forward Static Slicing
title_full_unstemmed Supporting Software Engineering Via Lightweight Forward Static Slicing
title_sort supporting software engineering via lightweight forward static slicing
publisher Kent State University / OhioLINK
publishDate 2012
url http://rave.ohiolink.edu/etdc/view?acc_num=kent1341996135
work_keys_str_mv AT alomarihakamw supportingsoftwareengineeringvialightweightforwardstaticslicing
_version_ 1719422802372591616