计算机科学 ›› 2020, Vol. 47 ›› Issue (6): 1-7.doi: 10.11896/jsjkx.200400081

• 智能软件工程 • 上一篇    下一篇

环境感知自适应软件的运行时输入验证技术综述

王慧妍, 徐经纬, 许畅   

  1. 计算机软件新技术国家重点实验室(南京大学) 南京210023
    南京大学计算机科学与技术系 南京210023
  • 收稿日期:2020-03-18 出版日期:2020-06-15 发布日期:2020-06-10
  • 通讯作者: 许畅(changxu@nju.edu.cn)
  • 作者简介:cocowhy1013@gmail.com
  • 基金资助:
    国家自然科学基金重点项目(61932021,61802170)

Survey on Runtime Input Validation for Context-aware Adaptive Software

WANG Hui-yan, XU Jing-wei, XU Chang   

  1. State Key Laboratory for Novel Software Technology,Nanjing University,Nanjing 210023,China
    Department of Computer Science and Technology,Nanjing University,Nanjing 210023,China
  • Received:2020-03-18 Online:2020-06-15 Published:2020-06-10
  • About author:WANG Hui-yan,born in 1993,postgra-duate,is a member of China Computer Federation.Her main research interests include context management,input validation,and intelligent software testing and analysis.
    XU Chang,born in 1977,Ph.D,professor,is a senior member of China Computer Federation.His main research interests include big data software engineering,and intelligent software testing and analysis.
  • Supported by:
    This work was supported by the Key Program of the National Natural Science Foundation of China (61932021,61802170)

摘要: 随着软件智能化与大数据时代的到来,环境感知自适应软件作为智能软件中的代表趋于流行。环境感知自适应软件有两大特征:1)“环境感知”,即能够通过传感器等设备感知周围环境并采集环境数据;2)“自适应”,即能够基于采集的环境数据自适应地进行软件决策。这类软件的主要表现特征为在运行时刻能够动态感知周边环境的变化并进行交互,从而做出决策。此外,随着大数据时代的到来,越来越多的人工智能模型被使用并被期望能够帮助环境感知自适应软件更好地实现自适应机制,使其能够更加智能地通过与环境的感知交互来做决策。一方面,由于运行时环境复杂,该类软件的运行时环境情况往往难以估计和预料,使得其在实际部署后运行在复杂环境中的可靠性很难通过事先测试得到有效保障,这也成为了这类软件在运行时得到有效质量保障所面临的一大挑战。而另一方面,此类软件对人工智能模型的应用与人工智能模型基于统计的核心特征,使得其在运行时刻选择应用人工智能模型来进行辅助决策也存在一定的局限性,这更加剧了保障此类软件在运行时刻质量的难度。因此,如何能够在此类软件的实际部署运行时更好地保障其运行质量与可靠性成为了当今智能软件工程的一个广泛研究的问题。与此同时,输入验证被认为是保障运行时刻软件质量的一大常用手段,它通过对软件输入进行有效识别,来避免不合适的输入在运行时刻被输入软件而影响软件行为。基于此,文中对环境感知自适应软件的运行时输入验证技术进行总结与综述,基于此类软件的两大特征,从“环境感知”方面的环境数据感知模块的输入验证及“自适应”方面决策模块的输入验证两个方面,分别对已有技术进行调研与综述。同时,文中还探讨了对环境感知自适应软件的运行时输入验证技术问题中的主要性能挑战,为实现更加高效的输入验证做框架性总结。最后,还对人工智能技术广泛应用于环境感知自适应软件的现状带来的对此类软件额外决策的挑战做了讨论与分析,已有工作对此挑战的探索也让此类软件进一步成熟,并为其未来集成决策逻辑演化从而达到软件自成长的理想提供支撑。通过对相关技术的综述,试图为相关领域的科研工作者勾画一个对环境感知自适应软件在运行时刻较清晰的质量保障框架,为未来的相关研究提供可能的方向与角度。

关键词: 环境感知自适应软件, 运行时质量保障, 输入验证, 软件可靠性, 约束检查

Abstract: 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.

Key words: Context-aware adaptive applications, Runtime quality assurance, Input validation, Software reliability, Constraint checking

中图分类号: 

  • TP311
[1]EI K X,CAO Y Z,YANG J F,et al.DeepXplore:Automated Whitebox Testing of Deep Learning Systems[C]//Proceedings of the 26th Symposium on Operating Systems Principles (SOSP).ACM,2017:1-18.
[2]BU L,XIONG W,LIANG C J M,et al.Systematicaly Ensuring the Confidence of Real-time Home Automation IoT Systems [J].ACM Transactions on Cyber-Physical Systems,2018,2(3):1-23.
[3]XU C,CHEUNG S C,MA X X,et al.ADAM:Identifying Defects in Context-aware Adaptation [J].The Journal of Systems and Software (JSS),2012,85(12):2812-2828.
[4]JEFFERY S R,GAROFALAKIS M,FRANKLIN M J.Adaptive Cleaning for RFID Data Streams[C]//International Conference on Very Large Data Bases (VLDB).2006:163-174.
[5]WU Z L,LI C H,NG J K Y,et al.Location Estimation via Support Vector Regression [J].IEEE Trans.on Mobile Computing (TMC),2007,6(3):311-321.
[6]RAO J,DORAISWAMY S,THAKKAR H,et al.A deferred cleansing method for RFID data analytics[C]//Proceedings of the 32nd International Conference on Very Large Data Bases (VLDB).Seoul,Korea,2006:175-186.
[7]KHOUSSAINOVA N,BALAZINSKA M,SUCIU D.Towards Correcting Input Data Errors Probabilistically Using Integrity Constraints[C]//5th International ACM Workshop on Data Engineering for Wireless and Mobile Access.Chicago,Illinois,USA,2006:43-50.
[8]SUBRAMANIAM S,PALPANAS T,PAPADOPOULOS D, et al.Online Outlier Detection In Sensor Data Using Non-parametric Models[C]//Proceedings of the 32nd International Conference on Very Large Data Bases (VLDB).New York:ACM Press,2006:187-198.
[9]ZHUANG Y,CHEN L.In-network outlier cleaning for data collection in sensor networks[C]//Proceedings of the 1st International VLDB Workshop on Clean Databases (CleanDB).New York:ACM Press,2006:41-48.
[10]YANG W H,XU C,LIU Y P,et al.Verifying Self-adaptive Applications Suffering Uncertainty[C]//Proceedings of the 29th IEEE/ACM International Conference on Automated Software Engineering (ASE).2014:199-209.
[11]JAIN A,CHANG E Y,WANGY F.Adaptive Stream Resource Management Using Kalman Filters[C]//Proceedings of the ACM SIGMOD International Conference on Management of Data (SIGMOD).ACM Press,2004:11-22.
[12]DESHPANDE A,GUESTRIN C,MADDEN S R.Using Probabilistic Models for Data Management in Acquisitional Environments[C]//2nd Biennial Conference on Innovative Data Systems Research.Asilomar,California,USA,2005:1-13.
[13]XU C,CHEUNG S C,CHAN W K,et al.Partial Constraint Checking for Context Consistency in Pervasive Computing [J].ACM Transactions on Software Engineering and Methodology (TOSEM),2010,19(3):1-61.
[14]NENTWICH C,CAPRA L,EMMERICH W,et al.Xlinkit:A Consistency Checking and Smart Link Generation Service [J].ACM Transaction on Internet Technology (TOIT),2002,2(2):151-185.
[15]XU C,LIU Y P,CHEUNG S C,et al.Towards Context Consistency by Concurrent Checking for Internetware Applications [J].Science China Information Sciences (SCIS),2013,56(8):1-20.
[16]SUI J,XU C,CHEUNG S C,et al.Hybrid CPU-GPU Constraint Checking:Towards Efficient Context Consistency [J].Information and Software Technology (IST),2016,74:230-242.
[17]WANG H Y,XU C,GUO B Y,et al.Generic Adaptive Scheduling for Efficient Context Inconsistency Detection [J].IEEE Transactions on Software Engineering (TSE),2019,PP(99):1-1.
[18]INSUK P,LEE D,HYUN S J.A Dynamic Context-conflict Management Scheme for Group-aware Ubiquitous Computing Environments[C]//Proceedings of the 29th Annual InternationalComputer Software and Applications Conference.IEEE ComputerSociety,2005:359-364.
[19]RANGANATHAN A,CAMPBELL R H.An infrastructure for context-awareness based on first order logic [J].Personal and Ubiquitous Computing (PUC),2003,7(6):353-364.
[20]CHOMICKI J,LOBO J,NAQVI S.Conflict Resolution Using Logic Programming [J].IEEE Transactions on Knowledge and Data Engineering (TKDE),2003,15:244-249.
[21]BU Y,GU T,TAO X,et al.Managing Quality of Context in Pervasive Computing[C]//Proceedings of the Sixth InternationalConference on Quality Software.IEEE Computer Society,2006:193-200.
[22]XU C,CHEUNG S C,CHAN W K,et al.Heuristics-based Strategies for Resolving Context Inconsistencies in Pervasive Computing Applications[C]//Proceedings of the 28th International Conference on Distributed Computing Systems (ICDCS).2008:713-721.
[23]XU C,CHEUNG S C,CHAN W K,et al.On Impact-oriented Automatic Resolution of Pervasive Context Inconsistency[C]//Proceedings of the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE).2007:569-572.
[24]XU C,MA X X,CAO C,et al.Minimizing the Side Effect of Context Inconsistency Resolution for Ubiquitous Computing[C]//Proceedings of the 8th ICST International Conference on Mobile and Ubiquitous Systems (MOBIQUITOUS).2011:285-297.
[25]NUSEIBEH B,EASTERBROOK S,RUSSO A.Making Inconsistency Respectable in Software Development [J].The Journal of Systems and Software,2001,58:171-180.
[26]XU C,XI W,CHEUNG S C,et al.CINA:Suppressing the Detection of Unstable Context Inconsistency [J].IEEE Transactions on Software Engineering (TSE),2015,41(9):842-865.
[27]RAZ O,KOOPMAN P,SHAW M.Semantic anomaly detection in online data sources[C]//Proceedings of the 24th International Conference on Software Engineering.2002:302-312.
[28]ZHENG W,LYU M,XIE T.Test selection for result inspection via mining predicate rules[C]//Proceedings of the 31st International Conference on Software Engineering.2009:215-225.
[29]NADI S,BERGER T,KASTNER C,et al.Where Do Configuration Constraints Stem From An Extraction Approach and An Empirical Study [J].IEEE Transactions on Software Enginee-ring,2015,41(8):820-841.
[30]XU K,TIAN K,YAO D,et al.A Sharper Sense of Self:Probabilistic Reasoning of Program Behaviors for Anomaly Detection with Context Sensitivity[C]//Proceedings of the 46th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN).2016:467-478.
[31]YANG W H,XU C,PAN M X,et al.Efficient Validation of Self-adaptive Applications by Counterexample Probability Maximization [J].The Journal of Systems and Software (JSS),2018,138:82-99.
[32]QIN Y,XIE T,XU C,et al.CoMID:Context-based Multi-invariant Detection for Monitoring Cyber-physical Software [J].IEEE Transactions on Reliability (TR),2020,69(1):106-123.
[33]HENDRYCKS D,GIMPEL K.A baseline for detecting misclassified and out-of-distribution examples in neural networks[C]//Proceedings of 5th International Conference on Learning Representations (ICLR).2017.
[34]LIANG S,LI Y X,SRIKANT R.Principled detection of out-of-distribution examples in neural networks[C]//Proceedings of 5th International Conference on Learning Representations (ICLR).2018.
[35]LEE K M,LEE K,LEE H,et al.A Simple Unified Framework for Detecting Out-of-Distribution Samples and Adversarial Attacks[C]//Advances in Neural Information Processing Systems (NIPS).2018:7167-7177.
[36]KIM J H,FELDT R,YOO S.Guiding deep learning system testing using surprise adequacy[C]//Proceedings of the 41st ACM/IEEE International Conference on Software Engineering (ICSE).2019.
[37]ZHANG M S,ZHANG Y Q,ZHANG L M,et al.DeepRoad:GAN-based metamorphic testing and input validation framework for autonomous driving systems[C]//Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering (ASE).ACM,2018:132-142.
[38]GOODFELLOW I J,SHLENS J,SZEGEDY C.Explaining and harnessing adversarial examples[C]//The 32nd International Conference on Machine Learning (ICML).2015.
[39]WANG J Y,DONG G L,SUN J,et al.Adversarial Sample Detection for Deep Neural Network through Model Mutation Testing[C]//In Proceedings of the 41st ACM/IEEE International Conference on Software Engineering (ICSE).2019.
[40]XU W L,EVANS D,QI Y.Feature Squeezing:Detecting Adversarial Examples in Deep Neural Networks[C]//Network and Distributed System Security Symposium.2018.
[41]MENG D Y,CHEN H.MagNet:a Two-Pronged Defense against Adversarial Examples[C]//Proceedings of ACM Conference on Computer and Communications Security (CCS).2017.
[42]FEINMAN R,CURTIN R R,SHINTRE S,et al.Detecting Adversarial Samples from Artifacts[J].arXiv:1703.00410,2017.
[43]LIANG B,LI H,SU M,et al.Detecting Adversarial Examples in Deep Networks with Adaptive Noise Reduction [J].IEEE Transactions on Dependable & Secure Computing,2017,PP(99).
[44]GEBHART T,SCHRATER P.Adversary Detection in Neural Networks via Persistent Homology[J].arXiv:1711.10056,2017.
[45]QIN Y,WANG H Y,XU C,et al.SynEva:Evaluating ML Programs by Mirror Program Synthesis[C]//Proceedings of the International Conference on Software Quality,Reliability and Security (QRS).2018:171-182.
[46]CHEN Z Q,WANG H Y,XU C,et al.Vision:Evaluating Scenario Suitableness for DNN Models by Mirror Synthesis[C]//In Proceedings of the 26th Asia-Pacific Software Engineering Conference (APSEC).IEEE Computer Society,2019:78-85.
[47]WANG H Y,XU J W,XU C,et al.DISSECTOR:Input Validation for Deep Learning Applications by Crossing-layer Dissection [C] //Proceedings of the 42nd ACM/IEEE International Conference on Software Engineering (ICSE).2020.
[1] 弋泽龙,温玉梅,林燕敏,陈伟庭,吕冠宇. 多层缺陷关联效应对软件可靠性增长过程的影响[J]. 计算机科学, 2018, 45(2): 241-248.
[2] 刘凯, 梁欣, 张俊萍. 基于软硬系统综合方法的软件失效问题分析[J]. 计算机科学, 2018, 45(11A): 494-496.
[3] 张婷婷,张德平,刘国强. 基于EM方法的隐Markov软件可靠性模型[J]. 计算机科学, 2016, 43(8): 159-164.
[4] 王珣,王轶辰. 软件系统故障传播模型研究进展[J]. 计算机科学, 2016, 43(6): 1-9.
[5] 梁宏涛,徐建良,许可. 组合核相关向量机的软件可靠性预测模型[J]. 计算机科学, 2016, 43(11): 257-259.
[6] 王二威,吴祈宗. 基于泛函网络的软件可靠性多模型综合预测方法[J]. 计算机科学, 2015, 42(10): 175-179.
[7] 费琪,刘春裕. 基于NHPP类软件可靠性通用模型研究与应用[J]. 计算机科学, 2014, 41(Z11): 379-381.
[8] 张柯,张德平,汪帅. 软件可靠性混沌神经网络模型[J]. 计算机科学, 2014, 41(4): 172-177.
[9] 张德平,汪帅,周吴杰. 基于EMD和GEP的软件可靠性预测模型[J]. 计算机科学, 2013, 40(4): 164-168.
[10] 黄抚群,刘 斌,王轶辰. 软件心理学研究综述[J]. 计算机科学, 2013, 40(3): 1-7.
[11] 刘逻,郭立红,肖辉,王建军,王改革. 基于参数动态调整的动态模糊神经网络的软件可靠性增长模型[J]. 计算机科学, 2013, 40(2): 186-190.
[12] 周雁舟,乔辉,吴晓萍,邵楠,惠文涛. 基于LASSO-LARS的软件复杂性度量属性特征选择研究[J]. 计算机科学, 2013, 40(11): 169-173.
[13] 齐蓓,覃志东. Markov控制转换多模块软件可靠性测试资源动态分配方法[J]. 计算机科学, 2013, 40(10): 162-165.
[14] 乔 辉,周雁舟,邵 楠,高 杨,粟登银. 基于AGA-LVQ神经网络的软件可靠性预测模型研究[J]. 计算机科学, 2013, 40(1): 179-182.
[15] 楼俊钢,申情,沈张果. 软件可靠性预测的核函数方法[J]. 计算机科学, 2012, 39(4): 145-148.
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
[1] 雷丽晖,王静. 可能性测度下的LTL模型检测并行化研究[J]. 计算机科学, 2018, 45(4): 71 -75 .
[2] 孙启,金燕,何琨,徐凌轩. 用于求解混合车辆路径问题的混合进化算法[J]. 计算机科学, 2018, 45(4): 76 -82 .
[3] 史雯隽,武继刚,罗裕春. 针对移动云计算任务迁移的快速高效调度算法[J]. 计算机科学, 2018, 45(4): 94 -99 .
[4] 周燕萍,业巧林. 基于L1-范数距离的最小二乘对支持向量机[J]. 计算机科学, 2018, 45(4): 100 -105 .
[5] 刘博艺,唐湘滟,程杰仁. 基于多生长时期模板匹配的玉米螟识别方法[J]. 计算机科学, 2018, 45(4): 106 -111 .
[6] 杨羽琦,章国安,金喜龙. 车载自组织网络中基于车辆密度的双簇头路由协议[J]. 计算机科学, 2018, 45(4): 126 -130 .
[7] 韩奎奎,谢在鹏,吕鑫. 一种基于改进遗传算法的雾计算任务调度策略[J]. 计算机科学, 2018, 45(4): 137 -142 .
[8] 庞博,金乾坤,合尼古力·吾买尔,齐兴斌. 软件定义网络中基于网络切片和ILP模型的路由方案[J]. 计算机科学, 2018, 45(4): 143 -147 .
[9] 夏庆勋,庄毅. 一种基于局部性原理的远程验证机制[J]. 计算机科学, 2018, 45(4): 148 -151 .
[10] 吴姝,周安民,左政. PDiOS:iOS应用程序中私有API的调用检测[J]. 计算机科学, 2018, 45(4): 163 -168 .