摘要
随着软件智能化与大数据时代的到来,环境感知自适应软件作为智能软件中的代表趋于流行。环境感知自适应软件有两大特征:1)“环境感知”,即能够通过传感器等设备感知周围环境并采集环境数据;2)“自适应”,即能够基于采集的环境数据自适应地进行软件决策。这类软件的主要表现特征为在运行时刻能够动态感知周边环境的变化并进行交互,从而做出决策。此外,随着大数据时代的到来,越来越多的人工智能模型被使用并被期望能够帮助环境感知自适应软件更好地实现自适应机制,使其能够更加智能地通过与环境的感知交互来做决策。一方面,由于运行时环境复杂,该类软件的运行时环境情况往往难以估计和预料,使得其在实际部署后运行在复杂环境中的可靠性很难通过事先测试得到有效保障,这也成为了这类软件在运行时得到有效质量保障所面临的一大挑战。而另一方面,此类软件对人工智能模型的应用与人工智能模型基于统计的核心特征,使得其在运行时刻选择应用人工智能模型来进行辅助决策也存在一定的局限性,这更加剧了保障此类软件在运行时刻质量的难度。因此,如何能够在此类软件的实际部署运行时更好地保障其运行质量与可靠性成为了当今智能软件工程的一个广泛研究的问题。与此同时,输入验证被认为是保障运行时刻软件质量的一大常用手段,它通过对软件输入进行有效识别,来避免不合适的输入在运行时刻被输入软件而影响软件行为。基于此,文中对环境感知自适应软件的运行时输入验证技术进行总结与综述,基于此类软件的两大特征,从“环境感知”方面的环境数据感知模块的输入验证及“自适应”方面决策模块的输入验证两个方面,分别对已有技术进行调研与综述。同时,文中还探讨了对环境感知自适应软件的运行时输入验证技术问题中的主要性能挑战,为实现更加高效的输入验证做框架性总结。最后,还对人工智能技术广泛应用于环境感知自适应软件的现状带来的对此类软件额外决策的挑战做了讨论与分析,已有工作对此挑战的探索也让此类软件进一步成熟,并为其未来集成决策逻辑演化从而达到软件自成长的理想提供支撑。通过对相关技术的综述,试图为相关领域的科研工作者勾画一个对环境感知自适应软件在运行时刻较清晰的质量保障框架,为未来的相关研究提供可能的方向与角度。
With the widespread of intelligence and big data,context-aware adaptive software,one representative of intelligent software,has gained increasing popularities.It has two key characteristics:1)“context-aware”,referring to the ability of becoming aware of environments through ubiquitous sensors.2)“adaptive”,referring to the ability of making adaptations based on collected contexts.As such,context-aware adaptive software can at runtime sense its surrounding environment and make adaptations smartly.Besides,with the growing development of artificial intelligence(AI)technologies,more AI models have been applied in context-aware adaptive software for smarter adaptations.Therefore,on one hand,due to the complexity of environments at runti-me,the software suffers from severe reliability issues during its deployment,which is difficult to avoid by sole testing due to the lack of practically controllable environments,thus leading to great challenges for its runtime reliability assurance.On the other hand,the application of AI models in context-aware adaptive software further aggravates its reliability issues.As such,how to maintain the runtime reliability of context-aware adaptive software has been a widely-open research problem in intelligent software engineering,while input validation has shown promising in this field by identifying and isolating unexpected inputs from being fed into the software in order to avoid possible uncontrollable consequences at runtime.In this article,we survey techniques on runtime input validation for context-aware adaptive software concerning its two key characteristics:“context-aware”and“adaptive”.Meanwhile,we also dig into the reliability issue problem concerning its cost-effectiveness in solving,and overview the concerned research framework.Finally,we discuss some latest concerns of context-aware adaptive software at present and in future,and present how context-aware adaptive software supports the emergence of self-growing software in the vision.As a summary,we survey existing efforts on runtime input validation for context-aware adaptive software,and aim to form a structured framework for the potential solutions on its reliability issues.We wish this may shed some light on relative researchers in future.
作者
王慧妍
徐经纬
许畅
WANG Hui-yan;XU Jing-wei;XU Chang(State Key Laboratory for Novel Software Technology,Nanjing University,Nanjing 210023,China;Department of Computer Science and Technology,Nanjing University,Nanjing 210023,China)
出处
《计算机科学》
CSCD
北大核心
2020年第6期1-7,共7页
Computer Science
基金
国家自然科学基金重点项目(61932021,61802170)。
关键词
环境感知自适应软件
运行时质量保障
输入验证
软件可靠性
约束检查
Context-aware adaptive applications
Runtime quality assurance
Input validation
Software reliability
Constraint checking