JORGE FANDINNO, ZACHARY HANSEN, YULIYA LIERLER, VLADIMIR LIFSCHITZ, NATHAN TEMPLE
{"title":"External Behavior of a Logic Program and Verification of Refactoring","authors":"JORGE FANDINNO, ZACHARY HANSEN, YULIYA LIERLER, VLADIMIR LIFSCHITZ, NATHAN TEMPLE","doi":"10.1017/s1471068423000200","DOIUrl":null,"url":null,"abstract":"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.","PeriodicalId":49436,"journal":{"name":"Theory and Practice of Logic Programming","volume":"26 1","pages":"0"},"PeriodicalIF":1.4000,"publicationDate":"2023-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Theory and Practice of Logic Programming","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1017/s1471068423000200","RegionNum":2,"RegionCategory":"数学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
引用次数: 1
Abstract
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.
期刊介绍:
Theory and Practice of Logic Programming emphasises both the theory and practice of logic programming. Logic programming applies to all areas of artificial intelligence and computer science and is fundamental to them. Among the topics covered are AI applications that use logic programming, logic programming methodologies, specification, analysis and verification of systems, inductive logic programming, multi-relational data mining, natural language processing, knowledge representation, non-monotonic reasoning, semantic web reasoning, databases, implementations and architectures and constraint logic programming.