A method is presented for incrementally computing success patterns of logic programs. The set of success patterns of a logic program with respect to an abstraction is formulated as the success set of an equational log...A method is presented for incrementally computing success patterns of logic programs. The set of success patterns of a logic program with respect to an abstraction is formulated as the success set of an equational logic program modulo an equality theory that is induced by the abstraction. The method is exemplified via depth and stump abstractions. Also presented are algorithms for computing most general unifiers modulo equality theories induced by depth and stump abstractions.展开更多
Structures using constructors are of ordinary use in functional programming to represent data structures of unbound size. Lack of associativity of constructors, however, hinders program analyses or efficient execution...Structures using constructors are of ordinary use in functional programming to represent data structures of unbound size. Lack of associativity of constructors, however, hinders program analyses or efficient executions. This paper describes ideas of abstraction toward constructors, and similarly abstraction from constructing functions, which we call functional constructors. We demonstrate our ideas making program analyses easier and enable transformation to efficient execution.展开更多
Service Oriented Architecture (SOA) is an emerging paradigm for orchestrating software components to build new composite applications that enable businesses, government agencies and other organizations to collaborate ...Service Oriented Architecture (SOA) is an emerging paradigm for orchestrating software components to build new composite applications that enable businesses, government agencies and other organizations to collaborate across institutional boundaries. SOA offers new languages and a variety of software development tools that enable software engineers to configure software as services and to interconnect services with other services independent of differences in operating platform and programming and communicating languages. However, SOA composite applications introduce additional complexity into the construction, deployment and maintenance of software, for the purpose of aggravating the issue of program comprehension, which is at the heart of software maintenance. This article describes the challenges in SOA program comprehension and reports on the results of a two-part case study aimed at identifying information that would help a SOA software maintainer. Analysis of the results indicates a need for higher-level abstractions and visualizations that can enhance conventional text-based search to support SOA program understanding. This paper then reports on several specific abstractions, visualization methods, and the development of an intelligent search tool to enhance comprehension of the relationships and data within a SOA composite application.展开更多
基于回答集语义的逻辑程序(Answer Set Programming,ASP)是描述性问题求解的典范,广泛应用于规划、诊断、调度以及生物信息学等领域。为了增强ASP的表达能力,一些工作在ASP引入了数据库系统中的聚合函数约束,并提出了SPT,FLP等语义,抽...基于回答集语义的逻辑程序(Answer Set Programming,ASP)是描述性问题求解的典范,广泛应用于规划、诊断、调度以及生物信息学等领域。为了增强ASP的表达能力,一些工作在ASP引入了数据库系统中的聚合函数约束,并提出了SPT,FLP等语义,抽象约束剥离聚合函数约束的具体形式成为研究ASP语义等性质的重要工具,并得到了抽象约束逻辑程序的各种回答集语义之间的关系和复杂性问题等的相关结果。对此,进一步研究了仅含凸抽象约束原子抽象约束逻辑的性质,证明了仅含凸抽象约束原子的正规逻辑程序判定是否存在FLP回答集是Σ_(2)^(p)完全的,其审慎推理和大胆推理分别是Π_(2)^(p)完全的和Σ_(2)^(p)完全的。这些复杂性结果进一步理清了各类逻辑程序间的表达能力关系,为设计有效的回答集求解器提供了新的思路,也为进一步探索ASP在解决用凸抽象约束表示的问题中的应用提供了理论基础。展开更多
针对传统编程作业批改效率偏低、主观性突出及现有自动化工具评测维度单一的现实问题,文章构建了融合大语言模型(Large Language Model,LLM)与抽象语法树(Abstract Syntax Tree,AST)的全维度评测系统。该系统借助AST解析提取代码结构特...针对传统编程作业批改效率偏低、主观性突出及现有自动化工具评测维度单一的现实问题,文章构建了融合大语言模型(Large Language Model,LLM)与抽象语法树(Abstract Syntax Tree,AST)的全维度评测系统。该系统借助AST解析提取代码结构特征,结合LLM的语义理解能力,对代码正确性、逻辑完备性及编程规范性进行多维度评估,同时引入知识图谱构建错因归溯与补救建议,依托指令工程生成个性化反馈内容。实验数据显示,该系统在函数题、类与对象题等典型题型中的综合评分准确率达89.1%,反馈有效性平均得分为4.05分,批改效率提升幅度达85%,可助力智能化教学实践。展开更多
提出了基于抽象解释框架自动合成数组程序不变式的方法,它能够分析按照特定顺序访问一维或者多维数组的程序,然后合成不变式.该方法将性质(包括区间全称量词性质和原子性质)集合作为抽象域,通过前向迭代数据流分析合成数组性质.证明了...提出了基于抽象解释框架自动合成数组程序不变式的方法,它能够分析按照特定顺序访问一维或者多维数组的程序,然后合成不变式.该方法将性质(包括区间全称量词性质和原子性质)集合作为抽象域,通过前向迭代数据流分析合成数组性质.证明了该方法的正确性和收敛性,并通过一些实例展示了该方法的灵活性.开发了一种原型工具,该工具在各种数组程序(包括competition on software verification中的array-examples benchmark)上的实验展示了方法的可行性和有效性.展开更多
文摘A method is presented for incrementally computing success patterns of logic programs. The set of success patterns of a logic program with respect to an abstraction is formulated as the success set of an equational logic program modulo an equality theory that is induced by the abstraction. The method is exemplified via depth and stump abstractions. Also presented are algorithms for computing most general unifiers modulo equality theories induced by depth and stump abstractions.
基金Supported by Research Fellowships of Japan Society for the Promotion of Science for Young Scientists(11-0 6 2 82 )
文摘Structures using constructors are of ordinary use in functional programming to represent data structures of unbound size. Lack of associativity of constructors, however, hinders program analyses or efficient executions. This paper describes ideas of abstraction toward constructors, and similarly abstraction from constructing functions, which we call functional constructors. We demonstrate our ideas making program analyses easier and enable transformation to efficient execution.
文摘Service Oriented Architecture (SOA) is an emerging paradigm for orchestrating software components to build new composite applications that enable businesses, government agencies and other organizations to collaborate across institutional boundaries. SOA offers new languages and a variety of software development tools that enable software engineers to configure software as services and to interconnect services with other services independent of differences in operating platform and programming and communicating languages. However, SOA composite applications introduce additional complexity into the construction, deployment and maintenance of software, for the purpose of aggravating the issue of program comprehension, which is at the heart of software maintenance. This article describes the challenges in SOA program comprehension and reports on the results of a two-part case study aimed at identifying information that would help a SOA software maintainer. Analysis of the results indicates a need for higher-level abstractions and visualizations that can enhance conventional text-based search to support SOA program understanding. This paper then reports on several specific abstractions, visualization methods, and the development of an intelligent search tool to enhance comprehension of the relationships and data within a SOA composite application.
文摘基于回答集语义的逻辑程序(Answer Set Programming,ASP)是描述性问题求解的典范,广泛应用于规划、诊断、调度以及生物信息学等领域。为了增强ASP的表达能力,一些工作在ASP引入了数据库系统中的聚合函数约束,并提出了SPT,FLP等语义,抽象约束剥离聚合函数约束的具体形式成为研究ASP语义等性质的重要工具,并得到了抽象约束逻辑程序的各种回答集语义之间的关系和复杂性问题等的相关结果。对此,进一步研究了仅含凸抽象约束原子抽象约束逻辑的性质,证明了仅含凸抽象约束原子的正规逻辑程序判定是否存在FLP回答集是Σ_(2)^(p)完全的,其审慎推理和大胆推理分别是Π_(2)^(p)完全的和Σ_(2)^(p)完全的。这些复杂性结果进一步理清了各类逻辑程序间的表达能力关系,为设计有效的回答集求解器提供了新的思路,也为进一步探索ASP在解决用凸抽象约束表示的问题中的应用提供了理论基础。
文摘针对传统编程作业批改效率偏低、主观性突出及现有自动化工具评测维度单一的现实问题,文章构建了融合大语言模型(Large Language Model,LLM)与抽象语法树(Abstract Syntax Tree,AST)的全维度评测系统。该系统借助AST解析提取代码结构特征,结合LLM的语义理解能力,对代码正确性、逻辑完备性及编程规范性进行多维度评估,同时引入知识图谱构建错因归溯与补救建议,依托指令工程生成个性化反馈内容。实验数据显示,该系统在函数题、类与对象题等典型题型中的综合评分准确率达89.1%,反馈有效性平均得分为4.05分,批改效率提升幅度达85%,可助力智能化教学实践。
文摘提出了基于抽象解释框架自动合成数组程序不变式的方法,它能够分析按照特定顺序访问一维或者多维数组的程序,然后合成不变式.该方法将性质(包括区间全称量词性质和原子性质)集合作为抽象域,通过前向迭代数据流分析合成数组性质.证明了该方法的正确性和收敛性,并通过一些实例展示了该方法的灵活性.开发了一种原型工具,该工具在各种数组程序(包括competition on software verification中的array-examples benchmark)上的实验展示了方法的可行性和有效性.