{"id":{"repo_id":"maynooth","oai_identifier":"oai:mural.maynoothuniversity.ie:4556"},"canonical_url":"https://search.dev.ndltd.org/etd/maynooth/oai:mural.maynoothuniversity.ie:4556","repository":{"repo_id":"maynooth","name":"National University of Ireland - Maynooth","base_url":"http://mural.maynoothuniversity.ie/cgi/oai2"},"display":{"title":"Source Code Matching for Reuse of Formal Specifications","abstract":"Although Software Verification technology is rapidly advancing, the process of formally specifying the intended behaviour of a program can still be difficult and time consuming as the program increases in size and complexity. In this project we focus on the source code matching module of Arís (Analogical Reasoning for reuse of Implementation & Specification) platform in which we aim to increase the number of verified programs by reducing the effort of writing specifications. Our approach promotes the advantages of code reuse and the possibility of transferring specifications between similar implementations. In order to effectively compare two source code files we represent them using Conceptual Graphs that allow us to explore the semantic content of the code while also analysing its structural properties using graph-based techniques. For comparing two conceptual graphs, we propose to use an incremental matching algorithm based on IAM (the Incremental Analogy Machine (Keane, et al., 1994)) and find the best mapping between isomorphic (exact matches) or homomorphic (non-identical) sub-graphs. We further develop analogical inferences from the acquired mapping using the CWSG (Copy With Substitution and Generation) algorithm for pattern completion and generate new specifications into our target/problem code. Finally, we present our evaluation and show that between structurally similar programs, the formal specifications can be fully transferred and successfully verified. Our overall results are very encouraging and clearly show the potential of reusing formal specifications in creating more dependable software systems.","abstract_html":"Although Software Verification technology is rapidly advancing, the process of formally specifying the intended behaviour of a program can still be difficult and time consuming as the program increases in size and complexity. In this project we focus on the source code matching module of Arís (Analogical Reasoning for reuse of Implementation &amp; Specification) platform in which we aim to increase the number of verified programs by reducing the effort of writing specifications. Our approach promotes the advantages of code reuse and the possibility of transferring specifications between similar implementations. In order to effectively compare two source code files we represent them using Conceptual Graphs that allow us to explore the semantic content of the code while also analysing its structural properties using graph-based techniques. For comparing two conceptual graphs, we propose to use an incremental matching algorithm based on IAM (the Incremental Analogy Machine (Keane, et al., 1994)) and find the best mapping between isomorphic (exact matches) or homomorphic (non-identical) sub-graphs. We further develop analogical inferences from the acquired mapping using the CWSG (Copy With Substitution and Generation) algorithm for pattern completion and generate new specifications into our target/problem code. Finally, we present our evaluation and show that between structurally similar programs, the formal specifications can be fully transferred and successfully verified. Our overall results are very encouraging and clearly show the potential of reusing formal specifications in creating more dependable software systems.","abstract_has_math":false,"creators":["Grijincu, Daniela"],"institution":"National University of Ireland Maynooth","degree_name":null,"degree_level":"masters","degree_discipline":null,"degree_department":null,"school":null,"contributors":[],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2013,"date_issued":"2013-07","date_published":"2013-07","updated_at":"2026-07-24T03:02:41Z","subjects":["Computer Science"],"languages":["en"],"rights":[],"rights_urls":[],"identifier_entries":[]},"links":{"outbound_url":null,"outbound_label":null,"outbound_source":null},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:creator","label":"Author","values":["Grijincu, Daniela"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date","label":"Dc Date","values":["2013-07"]},{"key":"dc:date.issued","label":"Date","values":["2013-07"]},{"key":"dc:publisher.department","label":"Dc Publisher Department","values":["Erasmus Mundus"]},{"key":"dc:publisher.institution","label":"Dc Publisher Institution","values":["National University of Ireland Maynooth"]},{"key":"dc:relation.isreferencedby","label":"Dc Relation Isreferencedby","values":["https://mural.maynoothuniversity.ie/id/eprint/4556/"]},{"key":"dc:type","label":"Dc Type","values":["Thesis"]},{"key":"dc:type.qualificationlevel","label":"Dc Type Qualificationlevel","values":["masters"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["Computer Science"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language","label":"Dc Language","values":["en"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier.uri","label":"Identifier URI","values":["https://mural.maynoothuniversity.ie/id/eprint/4556/1/DanielaGrijincu.pdf"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description.abstract","label":"Abstract","values":["Although Software Verification technology is rapidly advancing, the process of formally specifying the intended behaviour of a program can still be difficult and time consuming as the program increases in size and complexity. In this project we focus on the source code matching module of Arís (Analogical Reasoning for reuse of Implementation & Specification) platform in which we aim to increase the number of verified programs by reducing the effort of writing specifications. Our approach promotes the advantages of code reuse and the possibility of transferring specifications between similar implementations. In order to effectively compare two source code files we represent them using Conceptual Graphs that allow us to explore the semantic content of the code while also analysing its structural properties using graph-based techniques. For comparing two conceptual graphs, we propose to use an incremental matching algorithm based on IAM (the Incremental Analogy Machine (Keane, et al., 1994)) and find the best mapping between isomorphic (exact matches) or homomorphic (non-identical) sub-graphs. We further develop analogical inferences from the acquired mapping using the CWSG (Copy With Substitution and Generation) algorithm for pattern completion and generate new specifications into our target/problem code. Finally, we present our evaluation and show that between structurally similar programs, the formal specifications can be fully transferred and successfully verified. Our overall results are very encouraging and clearly show the potential of reusing formal specifications in creating more dependable software systems."]},{"key":"dc:format","label":"Dc Format","values":["text"]},{"key":"dc:title","label":"Title","values":["Source Code Matching for Reuse of Formal Specifications"]}]}],"canonical_facts":{"dc:creator":["Grijincu, Daniela"],"dc:date":["2013-07"],"dc:date.issued":["2013-07"],"dc:description.abstract":["Although Software Verification technology is rapidly advancing, the process of formally specifying the intended behaviour of a program can still be difficult and time consuming as the program increases in size and complexity. In this project we focus on the source code matching module of Arís (Analogical Reasoning for reuse of Implementation & Specification) platform in which we aim to increase the number of verified programs by reducing the effort of writing specifications. Our approach promotes the advantages of code reuse and the possibility of transferring specifications between similar implementations. In order to effectively compare two source code files we represent them using Conceptual Graphs that allow us to explore the semantic content of the code while also analysing its structural properties using graph-based techniques. For comparing two conceptual graphs, we propose to use an incremental matching algorithm based on IAM (the Incremental Analogy Machine (Keane, et al., 1994)) and find the best mapping between isomorphic (exact matches) or homomorphic (non-identical) sub-graphs. We further develop analogical inferences from the acquired mapping using the CWSG (Copy With Substitution and Generation) algorithm for pattern completion and generate new specifications into our target/problem code. Finally, we present our evaluation and show that between structurally similar programs, the formal specifications can be fully transferred and successfully verified. Our overall results are very encouraging and clearly show the potential of reusing formal specifications in creating more dependable software systems."],"dc:format":["text"],"dc:identifier.uri":["https://mural.maynoothuniversity.ie/id/eprint/4556/1/DanielaGrijincu.pdf"],"dc:language":["en"],"dc:publisher.department":["Erasmus Mundus"],"dc:publisher.institution":["National University of Ireland Maynooth"],"dc:relation.isreferencedby":["https://mural.maynoothuniversity.ie/id/eprint/4556/"],"dc:subject":["Computer Science"],"dc:title":["Source Code Matching for Reuse of Formal Specifications"],"dc:type":["Thesis"],"dc:type.qualificationlevel":["masters"]},"updated_at":"2026-07-24T03:02:41Z"}