Show simple item record

dc.contributor.authorLam, Patrick
dc.date.accessioned2016-06-27T19:03:46Z
dc.date.available2016-06-27T19:03:46Z
dc.date.issued2000-08
dc.identifiereprint:294
dc.identifier.urihttp://hdl.handle.net/10919/71569
dc.description.abstractStandard techniques for analysing sequential programs are severely constrained when applied to a concurrent program because they cannot take full advantage of the concurrent structure of the program. In this work, we overcome this limitation using a novel approach which ``lifts'' a sequential dataflow analysis to a concurrent analysis. First, we introduce concurrency primitives which abstract away from the details of how concurrency features are implemented in real programming languages. Using these primitives, we describe how sequential analyses can be made applicable to concurrent programs. Under some circumstances, there is no penalty for concurrency: our method produces results which are as precise as the sequential analysis. Our lifting is straightforward, and we illustrate it on some standard analyses -- available expressions, live variables and generalized constant propagation. Finally, we describe how concurrency features of real languages can be expressed using our abstract concurrency primitives, and present analyses for finding our concurrency primitives in real programs.en_US
dc.format.mimetypeapplication/postscripten_US
dc.language.isoenen_US
dc.subjectprogram analysisen_US
dc.subjectdata flow analysisen_US
dc.subjectconcurrencyen_US
dc.subject.lccQA75
dc.titleA General Work for the Flow Analysis of Concurrent Programsen_US
dc.typeThesisen_US
dc.contributor.departmentComputer Scienceen_US
thesis.degree.levelmastersen_US
thesis.degree.grantorMcGill Universityen_US


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record