mirage   mirage   mirage

Type-correct changes — a safe approach to version control implementation

DSpace/Manakin Repository

Show simple item record

dc.contributor.advisor Roundy, David
dc.contributor.advisor Erwig, Martin
dc.creator Dagit, Jason
dc.date.accessioned 2009-04-06T20:21:10Z
dc.date.available 2009-04-06T20:21:10Z
dc.date.copyright 2009-03-20
dc.date.issued 2009-03-20
dc.identifier.uri http://hdl.handle.net/1957/11180
dc.description Graduation date: 2009 en_US
dc.description.abstract Ensuring correctness of real-world software applications is a challenging task. Testing can be used to find many bugs, but is typically not sufficient for proving correctness or even eliminating entire classes of bugs. However, formal proof and verification techniques tend to be very heavy weight and are simply not available for day to day use in many common programming environments. We demonstrate a form of light-weight proof assistant by using the type checking features of the programming language Haskell with existing extensions. We apply this work to the Open Source version control system Darcs. The properties checked by our approach are derived directly from the data model used by Darcs. This allows us to eliminate entire classes of bugs at compile time. We also examine how these techniques improve the quality of the Darcs codebase and the challenges that arise when applying these techniques in practice. en_US
dc.language.iso en_US en_US
dc.subject darcs en_US
dc.subject haskell en_US
dc.subject gadt en_US
dc.subject patches en_US
dc.subject.lcsh Computer programs -- Correctness en_US
dc.title Type-correct changes — a safe approach to version control implementation en_US
dc.type Thesis en_US
dc.degree.name Master of Science (M.S.) in Computer Science en_US
dc.degree.level Master's en_US
dc.degree.discipline Engineering en_US
dc.degree.grantor Oregon State University en_US
dc.contributor.committeemember Budd, Timothy


The following license files are associated with this item:

This item appears in the following Collection(s)

Show simple item record

Search ScholarsArchive@OSU


Advanced Search

Browse

My Account

Statistics