UTHM Institutional Repository

Facilitating novices’ program comprehension in program slicing via a knowledge-based and program slicing tool

Sahid, Mohd Zanes (2013) Facilitating novices’ program comprehension in program slicing via a knowledge-based and program slicing tool. Masters thesis, Universiti Teknologi MARA.

[img]
Preview
PDF
Mohd_Zanes_Bin_Sahid.pdf

Download (200kB)

Abstract

Most novice programmers cannot comprehend program code effectively due to lack of knowledge, skill and domain experience. Their program comprehension capabilities are fragile, and performed at the lower syntax level of program code only, whereas experts have the capability to comprehend program code effectively at the higher semantic level. This is primarily due to two major factors – the experts’ ability to abstract code effectively based on their vast programming and problem domain knowledge, and their application of program slicing technique during program comprehension. Therefore, a new programming pedagogy semiautomated program comprehension tool called Knowledge-Based Slicer (KBS) that utilizes both knowledge-based and program slicing is designed and developed to support and improve program comprehension of novice programmers. The tool is developed based on adaptation and integration of two open-source tools; Simian, a program code similarity analyzer, and Indus-Kaveri, a static program slicing tool. KBS integrates them on top of a knowledge-based, and is deployed as a new Eclipse’s plugin with simplified user interfaces and new features tailored mainly for novice programmers. KBS consists of two components, the KBS Analyzer and KBS Slicer. The knowledge-based in the KBS Analyzer is developed in the form of Basic Program Plans that covers three basic algorithms, which are total, maximum and average. To test the effectiveness of the KBS, four phases of testing have been performed. The first, second and third phases testing were performed on the individual component of KBS against 30 sample program codes and 54 randomly selected actual novices’ program codes. In the final fourth phase integrated testing, program codes are firstly sliced by manually choosing the last computation result as the slicing criteria. This is followed and compared with the slices based on the criteria automatically suggested by KBS Analyzer. The precision of all matching are more than 0.7. Thus suggest that the KBS is able to assist novices in program comprehension by facilitating the selection of slicing criteria. The three main contributions of this research are the program comprehension tool for novices in applying program slicing with facilitated selection of slicing criteria, the first known demonstration of practical viability of integrating program slicing and knowledge-based technique for novices’ program comprehension, and local experimental data on knowledge-based cum program slicing program comprehension tool. The future works of this project include the expansion of the Program Plans to include more computing algorithms, and actual implementation of KBS in Java programming courses.

Item Type: Thesis (Masters)
Subjects: Q Science > QA Mathematics > QA76 Computer software
Depositing User: Normajihan Abd. Rahman
Date Deposited: 13 Dec 2013 09:11
Last Modified: 13 Dec 2013 09:11
URI: http://eprints.uthm.edu.my/id/eprint/4576
Statistic Details: View Download Statistic

Actions (login required)

View Item View Item

Downloads

Downloads per month over past year