| 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: