首页 | 本学科首页   官方微博 | 高级检索  
     


Running programs backwards: The logical inversion of imperative computation
Authors:Brian J Ross
Affiliation:(1) Department of Computer Science, Brock University, L2S 3A1 St Catharines, Ontario, Canada
Abstract:Imperative programs can be inverted directly from their forward-directed program code with the use of logical inference. The relational semantics of imperative computations treats programs as logical relations over the observable state of the environment, which is taken to be the state of the variables in memory. Program relations denote both forward and backward computations, and the direction of the computation depends upon the instantiation pattern of arguments in the relation. This view of inversion has practical applications when the relational semantics is treated as a logic program. Depending on the logic programming inference scheme used, execution of this relational program can compute the inverse of the imperative program. A number of nontrivial imperative computations can be inverted with minimal logic programming tools.
Keywords:Inversion  Abduction  Reverse computation  Program testing  Logic programming
本文献已被 SpringerLink 等数据库收录!
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号