ARIS - Analogical Reasoning for reuse of Implementations & Specifications
Software Reuse Our work aims to automate some of the steps involved in writing specifications for a given implementation. This is achieved by reusing existing verified programs. We focus on the topology on the knowledge extracted from the source code. In brief, we translate source code, via the Abstract Syntax Tree, into the Code Graph below. Then we perform graph mathcing between pairs of these code graphs. This allows us to transfer the old speicication to a new implementation.
The illustrative example playing (below) highlights the structural similarity between two different implementations of the same code.
Then click on the HTML links on following page:: Index of Code Graphs.
Approximately 1 million code graphs on Kaggle
- Creating Formal Specifications with Analogical Reasoning,
Proceedings of the Workshop "Computational Creativity, Concept Invention, and General Intelligence"
C3GI at ECAI 2014, in Tarek R. Besold, Kai-Uwe Kuhnberger, Marco Schorlemmer & Alan Smaill (eds.)
D.P. O'Donoghue, R. Monahan, D. Grijincu, M. Pitu, F. Halim, F. Rahman, Y. Abgaz, D. Hurley
- Aris: Analogical Reasoning for Reuse of Implementation & Specification,
AI for Formal Methods (AI4FM) Workshop, Rennes France, 22 July 2013,
Mihai Pitu, Daniela Grijincu, Peihan Li, Asif Saleem, Rosemary Monahan, Diarmuid P. O'Donoghue
- Case Based Specifications: Reusing Specifications, Programs and Proofs,
Dagstuhl Reports Vol. 2, Issue 7 - AI meets Formal Software Development, October 2012, pp 20-21,
Rosemary Monahan, Diarmuid O'Donoghue
Aris - Project members
Kuruvilla George Aiyankovil, Corentin Pinato, Felicia Halim, Fahrurrozi Rahman, Mihai Pitu, Daniella Grijincu, Rosemary Monahan & Diarmuid P. O'Donoghue. . Felicia, Fahrurrozi, Mihai, Daniela were all DESEM scholar students. Rosemary & Diarmmuid are member members of staff at Maynooth University. Back to Diarmuid's page.
Student Prizes:Daniela won the Best Overall MSc Project at the DESEM Summer school and to Mihai in his Best Student award also at the 2013 summer school.
Force directed graph - in your browser.
Enable viewing of d3.jsIf you cannot see the dynamic force directed (FDG) graphs in the pages listed below, please make the following changes to the FireFox brower.
Example Code Graphs
Around 20 randomly selected code graphs.
When reading these graphs, start with the top-level node 0: Block: Root
- In Firefox, open up a new tab. Type or paste about:config in the address bar and press Enter.
- A button appears asking if you accept the risk to change advanced settings. Click that you accept the risk.
- Type unique in the search box, which will filter the list for words containing this word.
- Double click the privacy.file_unique_origin preference to switch the value from true to false.
Copyright 2000 Maynooth University, Ireland.