一句话:将软件测试与修复技术移植到化学反应网络程序,支持自动修复与基于不变式的测试生成。
化学反应网络(CRN)作为一种非传统计算范式,可用于设计纳米尺度程序,如智能药物递送。这类程序通常在仿真环境中开发,再编译到物理系统,但其正确性验证与确认技术严重缺失。本文针对 CRN 程序的分布式计算与随机行为等挑战,设计了一个测试框架,并将该框架扩展至 CRN 模型的自动程序修复,以及基于程序不变式的自动测试生成。作者指出未来工作将包括为这类程序建立故障定位概念、发展变异生成理论,并处理该计算范式中存在的偶发性(flakiness)问题。该工作总体属于将软件工程中的测试与修复方法适配到新型计算介质的探索性研究。
The use of non-traditional computing devices is growing rapidly. One paradigm of interest is chemical reaction networks (CRNs) which can model and use chemical interactions for computation. These CRNs are used to develop programs at the nanoscale for applications such as intelligent drug delivery. In practice, these programs are developed in simulation environments, and then compiled into physical systems. A challenge when designing CRNs for computation is the lack of techniques to verify and validate correctness. In this work, we adapt software testing and repair techniques for use in this domain. In initial work, we designed a testing framework to handle the challenges presented by CRN programs; this includes distributed computation and stochastic behavior. We extended this framework to implement automated program repair of CRN models and automated test generation via program invariants. For future work, we will develop a notion of fault localization for these programs, develop a theory of mutation generation, and address issues regarding flakiness present in this computing paradigm.