Pitu, Mihai (2013) Source Code Retrieval using Case Based Reasoning. Masters thesis, National University of Ireland Maynooth.
Download (2MB)
|
Abstract
Formal verification of source code has been extensively used in the past few years in order to create dependable software systems. However, although formal languages like Spec# or JML are getting more and more popular, the set of verified implementations is very small and only growing slowly. Our work aims to automate some of the steps involved in writing specifications and their implementations, by reusing existing verified programs. That is, for a given implementation we seek to retrieve similar verified code and then reapply the missing specification that accompanies that code. In this thesis, I present the retrieval system that is part of the Arís (Analogical Reasoning for reuse of Implementation & Specification) project. The overall methodology of the Arís project is very similar to Case-Based Reasoning (CBR) and its parent discipline of Analogical Reasoning (AR), centered on the activities of solution retrieval and reuse. CBR’s retrieval phase is achieved using semantic and structural characteristics of source code. API calls are used as semantic anchors and characteristics of conceptual graphs are used to express the structure of implementations. Finally, we transfer the knowledge (i.e. formal specification) between the input implementation and the retrieved code artefacts to produce a specification for a given implementation. The evaluation results are promising and our experiments show that the proposed approach has real potential in generating formal specifications using past solutions.
Item Type: | Thesis (Masters) |
---|---|
Additional Information: | Taught Masters Thesis for the Erasmus Mundus MSc in Dependable Software Systems |
Keywords: | Source Code Retrieval; Case Based Reasoning; |
Academic Unit: | Faculty of Science and Engineering > Computer Science |
Item ID: | 4558 |
Depositing User: | IR eTheses |
Date Deposited: | 07 Oct 2013 16:27 |
URI: | |
Use Licence: | This item is available under a Creative Commons Attribution Non Commercial Share Alike Licence (CC BY-NC-SA). Details of this licence are available here |
Repository Staff Only(login required)
Item control page |
Downloads
Downloads per month over past year