Show simple item record

dc.contributor.advisorKanade, Aditya
dc.contributor.authorPranavadatta, DN
dc.date.accessioned2018-07-28T13:09:23Z
dc.date.accessioned2018-07-31T04:39:23Z
dc.date.available2018-07-28T13:09:23Z
dc.date.available2018-07-31T04:39:23Z
dc.date.issued2018-07-28
dc.date.submitted2011
dc.identifier.urihttps://etd.iisc.ac.in/handle/2005/3899
dc.identifier.abstracthttp://etd.iisc.ac.in/static/etd/abstracts/4774/G25268-Abs.pdfen_US
dc.description.abstractA 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.en_US
dc.language.isoen_USen_US
dc.relation.ispartofseriesG25268en_US
dc.subjectData Sharingen_US
dc.subjectData Compatibilityen_US
dc.subjectShared Data Programs - Compatabilityen_US
dc.subjectShared Data Softwareen_US
dc.subjectProducer-Consumer Programsen_US
dc.subjectShared Data - Static Analysisen_US
dc.subjectData Compatibility Checkingen_US
dc.subjectStatic Layout Inference Analysisen_US
dc.subjectOctagon Abstract Domainen_US
dc.subjectCompatibility Checkingen_US
dc.subject.classificationComputer Scienceen_US
dc.titleChecking Compatability of Programs on Shared Dataen_US
dc.typeThesisen_US
dc.degree.nameMSc Enggen_US
dc.degree.levelMastersen_US
dc.degree.disciplineFaculty of Engineeringen_US


Files in this item

This item appears in the following Collection(s)

Show simple item record