Record Details

Checking Compatability of Programs on Shared Data

Electronic Theses of Indian Institute of Science

View Archive Info
 
 
Field Value
 
Title Checking Compatability of Programs on Shared Data
 
Creator Pranavadatta, DN
 
Subject Data Sharing
Data Compatibility
Shared Data Programs - Compatability
Shared Data Software
Producer-Consumer Programs
Shared Data - Static Analysis
Data Compatibility Checking
Static Layout Inference Analysis
Octagon Abstract Domain
Compatibility Checking
Computer Science
 
Description A large software system is built by composing multiple programs, possibly developed independently. The component programs communicate by sharing data. Data sharing involves creation of instances of the shared data by one program, called the producer, and its interpretation by another program, called the consumer. Valid instances of shared data and their correct interpretation is usually specified by a protocol or a standard that governs the communication. If a consumer misinterprets or does not handle some instances of data produced by a producer, it is called as a data compatibility bug. Such bugs manifest as various forms of runtime errors that are difficult to find and fix.
In this work, we define various compatibility relations, between both producer-consumer programs and version-related programs, that characterize various subtle requirements for correct sharing of data. We design and implement a static analysis to infer types and guards over elements of shared data and the results are used for automatic compatibility checking. As case studies, we consider two widely used shared data-the TIFF structure, used to store TIFF directory attributes in memory, and IEEE 802. 11 MAC frame header which forms the layer 2 header in Wireless LAN communication. We analyze and check compatibility of 6 pairs of producer-consumer programs drawn from the transmit-receive code of Linux WLAN drivers of 3 different vendors. In the setting of version-related programs, we analyze a total of 48 library and utility routines of 2 pairs of TIFF image library (libtiff) versions. We successfully identify 5 known bugs and 1 new bug. For two of known bugs, bug fixes are available and we verify that they resolve the compatibility issues.
 
Contributor Kanade, Aditya
 
Date 2018-07-28T13:09:23Z
2018-07-28T13:09:23Z
2018-07-28
2011
 
Type Thesis
 
Identifier http://etd.iisc.ernet.in/2005/3899
http://etd.iisc.ernet.in/abstracts/4774/G25268-Abs.pdf
 
Language en_US
 
Relation G25268