ERA

Download the full-sized PDF of SafeType: Detecting Type Violations for Type-Based Alias Analysis of CDownload the full-sized PDF

Analytics

Share

Permanent link (DOI): https://doi.org/10.7939/R3G737C31

Download

Export to: EndNote  |  Zotero  |  Mendeley

Communities

This file is in the following communities:

Graduate Studies and Research, Faculty of

Collections

This file is in the following collections:

Theses and Dissertations

SafeType: Detecting Type Violations for Type-Based Alias Analysis of C Open Access

Descriptions

Other title
Subject/Keyword
Type-based alias analysis
Type of item
Thesis
Degree grantor
University of Alberta
Author or creator
Ireland, Iain A.
Supervisor and department
Amaral, Jose Nelson (Computing Science)
Examining committee member and department
Bowman, John (Mathematical and Statistical Sciences)
Amaral, Jose Nelson (Computing Science)
Hoover, James (Computing Science)
Department
Department of Computing Science
Specialization

Date accepted
2013-09-28T15:15:17Z
Graduation date
2013-11
Degree
Master of Science
Degree level
Master's
Abstract
A type-based alias analysis uses the types of variables in a program to assist in determining the alias relations of those variables. The C standard imposes restrictions on the types of expressions that may access objects in memory, with the explicit intent of specifying when two objects may be aliased. In practice, however, many C programs do not conform to these restrictions, making type-based alias analysis unsound for those programs. As a result, type-based alias analysis is frequently disabled. This thesis presents SafeType, a sound approach for compile-time detection of violations of the C standard’s type-based restrictions on memory access; describes an implementation of SafeType in the IBM XL C compiler, extended with flow- and context-sensitive queries to handle variables with type void *; evaluates that implementation, showing that it scales to programs with hundreds of thousands of lines of code; and identifies a previously unreported violation of the C standard’s type-based restrictions on memory access in the 470.lbm benchmark in SPEC CPU2006.
Language
English
DOI
doi:10.7939/R3G737C31
Rights
Permission is hereby granted to the University of Alberta Libraries to reproduce single copies of this thesis and to lend or sell such copies for private, scholarly or scientific research purposes only. Where the thesis is converted to, or otherwise made available in digital form, the University of Alberta will advise potential users of the thesis of these terms. The author reserves all other publication and other rights in association with the copyright in the thesis and, except as herein before provided, neither the thesis nor any substantial portion thereof may be printed or otherwise reproduced in any material form whatsoever without the author's prior written permission.
Citation for previous publication

File Details

Date Uploaded
Date Modified
2014-05-01T00:04:54.336+00:00
Audit Status
Audits have not yet been run on this file.
Characterization
File format: pdf (Portable Document Format)
Mime type: application/pdf
File size: 707668
Last modified: 2015:10:12 17:33:55-06:00
Filename: thesis.pdf
Original checksum: 3513fdf11b1dd6ba8f1d9f72d8366f62
Well formed: true
Valid: false
Status message: Invalid page tree node offset=706022
Activity of users you follow
User Activity Date