ValAsp:应答集编程中的数据验证工具
ValAsp: a tool for data validation in Answer Set Programming
摘要:
复杂软件的开发需要促进快速失败方法的工具,以便可以快速识别和修复错误和意外行为。数据验证工具可能会拯救计算机程序员。事实上,处理无效数据充其量是浪费资源,如果问题仍然没有被注意到,错误的结果被用于业务,那么最坏的情况就是戏剧性的。答案集编程(ASP)也不例外,但对越来越好的性能的追求导致了基本上不验证数据的系统。即使在输入/输出数据最终由外部工具验证的简单假设下,无效数据也可能出现在程序的其他部分,并且直到所设计软件的其他模块突然中断才被检测到。本文对ASP程序的数据验证问题进行了形式化的描述,介绍了一种描述数据验证的语言,并给出了一个在普通程序中注入数据验证的工具\textsc{valasp}。所提出的方法,促进故障快速技术在编码时,不施加任何滞后的部署系统,如果数据被假装是有效的。验证可以使用YAML,ASP和Python在语句中指定。此外,所提出的方法打开了使用ASP验证命令式程序设计语言的数据的可能性。正在考虑接受TPLP。
英文摘要:
The development of complex software requires tools promoting fail-fast approaches, so that bugs and unexpected behavior can be quickly identified and fixed. Tools for data validation may save the day of computer programmers. In fact, processing invalid data is a waste of resources at best, and a drama at worst if the problem remains unnoticed and wrong results are used for business. Answer Set Programming (ASP) is not an exception, but the quest for better and better performance resulted in systems that essentially do not validate data. Even under the simplistic assumption that input/output data are eventually validated by external tools, invalid data may appear in other portions of the program, and go undetected until some other module of the designed software suddenly breaks. This paper formalizes the problem of data validation for ASP programs, introduces a language to specify data validation, and presents \textsc{valasp}, a tool to inject data validation in ordinary programs. The proposed approach promotes fail-fast techniques at coding time without imposing any lag on the deployed system if data are pretended to be valid. Validation can be specified in terms of statements using YAML, ASP and Python. Additionally, the proposed approach opens the possibility to use ASP for validating data of imperative programming languages. Under consideration for acceptance in TPLP.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。