External Behavior of a Logic Program and Verification of Refactoring
Jorge Fandinno, Zachary Hansen, Yuliya Lierler, Vladimir Lifschitz,, Nathan Temple

TL;DR
This paper defines the external behavior of a logic program in a simple answer set programming language and introduces a proof assistant to verify correct refactoring without altering that behavior.
Contribution
It formalizes external behavior in a logic programming context and provides a tool for verifying refactoring correctness.
Findings
Formal definition of external behavior for the language
Development of a proof assistant for verification
Ensures refactoring preserves program behavior
Abstract
Refactoring is modifying a program without changing its external behavior. In this paper, we make the concept of external behavior precise for a simple answer set programming language. Then we describe a proof assistant for the task of verifying that refactoring a program in that language is performed correctly.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsMulti-Agent Systems and Negotiation · Logic, Reasoning, and Knowledge · Semantic Web and Ontologies
