Toward a Concurrent Programming Model with Modular Reasoning

dc.contributor.advisor Hridesh Rajan
dc.contributor.author Bagherzadeh, Mehdi
dc.contributor.department Department of Computer Science
dc.date 2018-08-11T10:50:11.000
dc.date.accessioned 2020-06-30T03:05:31Z
dc.date.available 2020-06-30T03:05:31Z
dc.date.copyright Fri Jan 01 00:00:00 UTC 2016
dc.date.embargo 2001-01-01
dc.date.issued 2016-01-01
dc.description.abstract <p>Modular reasoning and concurrent programming are both necessary for scalable development of performant software. Modular reasoning improves scalability by allowing a program to be understood one module at a time. Concurrent programming improves the performance by allowing simultaneous executions of multiple computations in a single program. However, modular reasoning about a concurrent program is difficult because of its thread interference, module inheritance and nondeterministic message orders. The statement of this thesis is that there exists a concurrent programming model that enables modular reasoning about behaviors of its programs in the presence of interference, inheritance and nondeterministic message orders using the following three ideas.</p> <p>The first idea is an interference control framework that enables modular reasoning in the presence of interference. The technical innovations of the interference control framework are its sparse interference and cognizant interference properties that allow for standard Hoare-style modular reasoning about a concurrent program. Sparse and cognizant interference guarantee that interference happens only at explicitly specified program points and the interference behavior is statically known, respectively.</p> <p>The second idea is concurrent behavioral subtyping that enables modular reasoning in the presence of inheritance. The technical innovations of concurrent behavioral subtyping are a new definition of behavioral subtyping for a concurrent program in terms of standard interface subtyping and a novel interference subtyping and show that in the presence of encapsulated inheritance the interface subtyping is sufficient to guarantee concurrent behavioral subtyping.</p> <p>The third and last idea is order types that enables modular reasoning in the presence of nondeterministic message orders. The technical innovations of order types are to disallow message races using existential types that capture unknown module dependencies, abstraction that hides local messaging behavior of the module in its order type and a blame assignment that properly blames the module with bad expression composition or bad module composition and not the module in which the race happens.</p> <p>These three ideas have the potential to ease software engineering of concurrent systems by improving a developer's ability to design, implement, test and evolve their software one module at a time.</p>
dc.format.mimetype application/pdf
dc.identifier archive/lib.dr.iastate.edu/etd/15659/
dc.identifier.articleid 6666
dc.identifier.contextkey 11164871
dc.identifier.doi https://doi.org/10.31274/etd-180810-5287
dc.identifier.s3bucket isulib-bepress-aws-west
dc.identifier.submissionpath etd/15659
dc.identifier.uri https://dr.lib.iastate.edu/handle/20.500.12876/29842
dc.language.iso en
dc.source.bitstream archive/lib.dr.iastate.edu/etd/15659/Bagherzadeh_iastate_0097E_15990.pdf|||Fri Jan 14 20:44:31 UTC 2022
dc.subject.disciplines Computer Sciences
dc.subject.keywords Concurrent behavioral subtyping
dc.subject.keywords Concurrent subtyping
dc.subject.keywords Interference subtyping
dc.subject.keywords Interface subtyping
dc.subject.keywords Interference control framework
dc.subject.keywords Pervasive interference
dc.subject.keywords Oblivious interference
dc.subject.keywords Sparse interference
dc.subject.keywords Cognizant interference
dc.subject.keywords Modular reasoning
dc.subject.keywords Supertype abstraction reasoning
dc.subject.keywords Concurrency
dc.subject.keywords Concurrent message passing programming
dc.subject.keywords Software engineering
dc.subject.keywords Order types
dc.subject.keywords Message race
dc.subject.keywords Bottom-up software construction
dc.subject.keywords Type abstraction
dc.subject.keywords Proper blame assignment
dc.title Toward a Concurrent Programming Model with Modular Reasoning
dc.type dissertation en_US
dc.type.genre dissertation en_US
dspace.entity.type Publication
relation.isOrgUnitOfPublication f7be4eb9-d1d0-4081-859b-b15cee251456
thesis.degree.discipline Computer Science
thesis.degree.level dissertation
thesis.degree.name Doctor of Philosophy
File
Original bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
Bagherzadeh_iastate_0097E_15990.pdf
Size:
935.87 KB
Format:
Adobe Portable Document Format
Description: