Augmenting static program analysis and design verification with pattern recognition

Static analysis examines program code to reason over all possible behaviours that might arise at run time. Such reasoning with full soundness and precision is in general not possible, as there may be arbitrarily many different user inputs or states. To enable the reasoning, static analysis usually u...

Full description

Bibliographic Details
Main Author: Sun, Ding
Other Authors: Tan Hee Beng Kuan
Format: Thesis
Language:English
Published: 2014
Subjects:
Online Access:https://hdl.handle.net/10356/61780
_version_ 1826119395709026304
author Sun, Ding
author2 Tan Hee Beng Kuan
author_facet Tan Hee Beng Kuan
Sun, Ding
author_sort Sun, Ding
collection NTU
description Static analysis examines program code to reason over all possible behaviours that might arise at run time. Such reasoning with full soundness and precision is in general not possible, as there may be arbitrarily many different user inputs or states. To enable the reasoning, static analysis usually uses an abstraction model to abstract away some information to examine program code. Static program analysis plays a very important role in software testing, software verification, program slicing, error detection, and code performance optimization. However, the use of it in these areas still faces many problems due to the difficulty in finding a suitable abstraction model to base on. Design patterns have been used to improve the reuse in software development. Some design patterns have also been used in the verification of design in general. However, there are no specific patterns proposed for the verification of designs of database applications that constitute a large proportion of software systems. The aim of this thesis is to address the above-mentioned problems. Based on abstraction models established through empirical studies, this thesis proposes the four approaches augmented with pattern recognition to improve the state-of-the-art regarding accuracy and efficiency.
first_indexed 2024-10-01T04:59:38Z
format Thesis
id ntu-10356/61780
institution Nanyang Technological University
language English
last_indexed 2024-10-01T04:59:38Z
publishDate 2014
record_format dspace
spelling ntu-10356/617802023-07-04T16:21:30Z Augmenting static program analysis and design verification with pattern recognition Sun, Ding Tan Hee Beng Kuan School of Electrical and Electronic Engineering DRNTU::Engineering::Computer science and engineering::Software::Software engineering Static analysis examines program code to reason over all possible behaviours that might arise at run time. Such reasoning with full soundness and precision is in general not possible, as there may be arbitrarily many different user inputs or states. To enable the reasoning, static analysis usually uses an abstraction model to abstract away some information to examine program code. Static program analysis plays a very important role in software testing, software verification, program slicing, error detection, and code performance optimization. However, the use of it in these areas still faces many problems due to the difficulty in finding a suitable abstraction model to base on. Design patterns have been used to improve the reuse in software development. Some design patterns have also been used in the verification of design in general. However, there are no specific patterns proposed for the verification of designs of database applications that constitute a large proportion of software systems. The aim of this thesis is to address the above-mentioned problems. Based on abstraction models established through empirical studies, this thesis proposes the four approaches augmented with pattern recognition to improve the state-of-the-art regarding accuracy and efficiency. ELECTRICAL and ELECTRONIC ENGINEERING 2014-10-08T02:07:29Z 2014-10-08T02:07:29Z 2014 2014 Thesis Sun, D. (2014). Augmenting static program analysis and design verification with pattern recognition. Doctoral thesis, Nanyang Technological University, Singapore. https://hdl.handle.net/10356/61780 10.32657/10356/61780 en 157 p. application/pdf
spellingShingle DRNTU::Engineering::Computer science and engineering::Software::Software engineering
Sun, Ding
Augmenting static program analysis and design verification with pattern recognition
title Augmenting static program analysis and design verification with pattern recognition
title_full Augmenting static program analysis and design verification with pattern recognition
title_fullStr Augmenting static program analysis and design verification with pattern recognition
title_full_unstemmed Augmenting static program analysis and design verification with pattern recognition
title_short Augmenting static program analysis and design verification with pattern recognition
title_sort augmenting static program analysis and design verification with pattern recognition
topic DRNTU::Engineering::Computer science and engineering::Software::Software engineering
url https://hdl.handle.net/10356/61780
work_keys_str_mv AT sunding augmentingstaticprogramanalysisanddesignverificationwithpatternrecognition