Techniques for Evolution-Aware Runtime Verification

作者: Owolabi Legunsen , Yi Zhang , Milica Hadzi-Tanovic , Grigore Rosu , Darko Marinov

DOI: 10.1109/ICST.2019.00037

关键词:

摘要: Runtime Verification (RV) can help find bugs by monitoring program executions against formal properties. Developers should ideally use RV whenever they run tests, to more earlier. Despite tremendous research progress, still incurs high overhead in (1) machine time monitor properties and (2) developer wait for inspect violations from test that do not satisfy the Moreover, all prior techniques consider only one version wastefully re-monitor unaffected code as software evolves. We present first evolution-aware reduce across multiple versions. Regression Property Selection (RPS) re-monitors be violated parts of affected changes, reducing time. Violation Message Suppression (VMS) simply shows new time; it does Prioritization (RPP) splits two phases: likely are monitored a critical phase provide faster feedback developers; rest background phase. compare our with evolution-unaware (base) when 200 versions 10 open-source projects. RPS RPP average 9.4x (for base RV) 1.8x, without missing any violations. VMS reduces number 540x, 54 per violation

参考文章(74)
Qingzhou Luo, Yi Zhang, Choonghwan Lee, Dongyun Jin, Patrick O’Neil Meredith, Traian Florin Şerbănuţă, Grigore Roşu, RV-Monitor: Efficient Parametric Runtime Verification with Simultaneous Properties runtime verification. pp. 285- 300 ,(2014) , 10.1007/978-3-319-11164-3_24
Grigore Rosu, Dongyun Jin, Patrick O'Neil Meredith, Scalable Parametric Runtime Monitoring ,(2012)
Eric Bodden, Laurie Hendren, Patrick Lam, Ondřej Lhoták, Nomair A. Naeem, Collaborative runtime verification with tracematches runtime verification. pp. 22- 37 ,(2007) , 10.1007/978-3-540-77395-5_3
Howard Barringer, David Rydeheard, Klaus Havelund, Rule systems for run-time monitoring: from eagle to ruler runtime verification. pp. 111- 125 ,(2007) , 10.1007/978-3-540-77395-5_10
Matthew B. Dwyer, Rahul Purandare, Suzette Person, Runtime Verification in Context: Can Optimizing Error Detection Improve Fault Diagnosis? Runtime Verification. pp. 36- 50 ,(2010) , 10.1007/978-3-642-16612-9_4
Claire Le Goues, Westley Weimer, Specification Mining with Few False Positives tools and algorithms for construction and analysis of systems. pp. 292- 306 ,(2009) , 10.1007/978-3-642-00768-2_26
Eric Bodden, MOPBox: a library approach to runtime verification runtime verification. pp. 365- 369 ,(2011) , 10.1007/978-3-642-29860-8_28
Yasufumi Toyoshima, David Chenho Kung, Pei Hsia, Jerry Gao, Jeremy Lin, Class firewall, test order, and regression testing of object-oriented programs Journal of Object-oriented Programming. ,vol. 8, pp. 51- 65 ,(1995)
Klaus Havelund, Grigore Roşu, Synthesizing Monitors for Safety Properties tools and algorithms for construction and analysis of systems. pp. 342- 356 ,(2002) , 10.1007/3-540-46002-0_24
Anh Cuong Nguyen, Siau-Cheng Khoo, Extracting significant specifications from mining through mutation testing formal methods. pp. 472- 488 ,(2011) , 10.1007/978-3-642-24559-6_32