Abstract
Runtime verification has primarily been developed and evaluated as a means of enriching the software testing process. While many researchers have pointed to its potential applicability in online approaches to software fault tolerance, there has been a dearth of work exploring the details of how that might be accomplished.
In this paper, we describe how a component-oriented approach to software health management exposes the connections between program execution, error detection, fault diagnosis, and recovery. We identify both research challenges and opportunities in exploiting those connections. Specifically, we describe how recent approaches to reducing the overhead of runtime monitoring aimed at error detection might be adapted to reduce the overhead and improve the effectiveness of fault diagnosis.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Barringer, H., Goldberg, A., Havelund, K., Sen, K.: Program monitoring with ltl in eagle. In: Parallel and Distributed Processing Symposium, International, vol. 17, p. 264 (2004)
Kim, M., Viswanathan, M., Ben-Abdallah, H., Kannan, S., Lee, I., Sokolsky, O.: Formally specified monitoring of temporal properties. In: Proceedings of the 11th Euromicro Conference on Real-Time Systems, pp. 114–122 (1999)
Havelund, K., Roşu, G.: Synthesizing monitors for safety properties. In: Katoen, J.-P., Stevens, P. (eds.) TACAS 2002. LNCS, vol. 2280, pp. 257–268. Springer, Heidelberg (2002)
Avgustinov, P., Tibble, J., de Moor, O.: Making trace monitors feasible. In: Conf. on Obj. Oriented Prog. Sys. Lang. and App., pp. 589–608 (2007)
Chen, F., Roşu, G.: Mop: an efficient and generic runtime verification framework. In: Conf. on Obj. Oriented Prog. Sys. Lang. and App., pp. 569–588 (2007)
Havelund, K., Roşu, G.: Monitoring java programs with java pathexplorer. In: Proc. 1st Workshop on Runtime Verification (2001)
NASA Aeronautics Research Mission Directorate, Aviation Safety Program: Integrated Vehicle Health Management Technical Plan, Version 2.03 (2009), http://www.aeronautics.nasa.gov/nra_pdf/ivhm_tech_plan_c1.pdf
Strom, R.E., Yemini, S.: Typestate: A programming language concept for enhancing software reliability. IEEE Trans. Softw. Eng. 12, 157–171 (1986)
Bodden, E., Lam, P., Hendren, L.: Finding programming errors earlier by evaluating runtime monitors ahead-of-time. In: Int’l Symp. on Found. of Soft. Eng., New York, NY, USA, pp. 36–47 (2008)
Bodden, E.: Efficient hybrid typestate analysis by determining continuation-equivalent states. In: Int’l. Conf. on Soft. Eng. (2010)
Blackburn, S.M., Garner, R., Hoffman, C., Khan, A.M., McKinley, K.S., Bentzur, R., Diwan, A., Feinberg, D., Frampton, D., Guyer, S.Z., Hirzel, M., Hosking, A., Jump, M., Lee, H., Moss, J.E.B., Phansalkar, A., Stefanović, D., VanDrunen, T., von Dincklage, D., Wiedermann, B.: The DaCapo benchmarks: Java benchmarking development and analysis. In: Proc. of the 21st ACM SIGPLAN Conf. on Object-Oriented Programing, Systems, Languages, and Applications, pp. 169–190 (2006)
Purandare, R., Dwyer, M.B., Elbaum, S.: Monitor optimization via stutter-equivalent loop transformation. In: ACM Conf. on Obj. Oriented Prog. Sys. Lang. and App. (2010)
Seyster, J., Dixit, K., Huang, X., Grosu, R., Havelund, K., Smolka, S.A., Stoller, S.D., Zadok, E.: Aspect-oriented instrumentation with gcc. In: Rosu, G., Sokolsky, O. (eds.) RV 2010. LNCS, vol. 6418, pp. 405–420. Springer, Heidelberg (2010)
Chen, F., Meredith, P.O., Jin, D., Rosu, G.: Efficient formalism-independent monitoring of parametric properties. In: International Conference on Automated Software Engineering, pp. 383–394 (2009)
Knight, J.C., Leveson, N.G.: An experimental evaluation of the assumption of independence in multi-version programming*. IEEE Transactions on Software Engineering 12, 96–109 (1986)
Eckhardt, D.E., Caglayan, A.K., Knight, J.C., Lee, L.D., McAllister, D.F., Vouk, M.A., Kelly, J.J.P.: An experimental evaluation of software redundancy as a strategy for improving reliability. IEEE Trans. Softw. Eng. 17, 692–702 (1991)
Chen, M.Y., Kiciman, E., Fratkin, E., Fox, A., Brewer, E.: Pinpoint: Problem determination in large, dynamic internet services. In: DSN 2002: Proceedings of the 2002 International Conference on Dependable Systems and Networks, pp. 595–604. IEEE Computer Society, Los Alamitos (2002)
Candea, G., Kawamoto, S., Fujiki, Y., Friedman, G., Fox, A.: Microreboot — a technique for cheap recovery. In: OSDI 2004: Proceedings of the 6th conference on Symposium on Operating Systems Design & Implementation, pp. 31–44 (2004); Adopts the philosophy of converting all failures to crashes and then focuses on reboot of crashed components as the only recovery strategy. Downside is that this sacrifices any opportunity to do effective fault localization to better target the recovery. Upside is it is simple
Tang, Y., Gao, Q., Qin, F.: Leaksurvivor: towards safely tolerating memory leaks for garbage-collected languages. In: ATC 2008: USENIX 2008 Annual Technical Conference on Annual Technical Conference, USENIX Association, pp. 307–320 (2008)
Bond, M.D., McKinley, K.S.: Tolerating memory leaks. In: OOPSLA 2008: Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications, pp. 109–126. ACM, New York (2008)
Sözer, H., Tekinerdoğan, B., Akşit, M.: Flora: a framework for decomposing software architecture to introduce local recovery. Softw. Pract. Exper. 39, 869–889 (2009)
Walter, C.J., Lincoln, P., Suri, N.: Formally verified on-line diagnosis. IEEE Trans. Softw. Eng. 23, 684–721 (1997)
Abreu, R., Zoeteweij, P., van Gemund, A.J.C.: Spectrum-based multiple fault localization. In: ASE 2009: Proceedings of the, IEEE/ACM International Conference on Automated Software Engineering, pp. 88–99. IEEE Computer Society, Los Alamitos (2009)
Abreu, R., Zoeteweij, P., van Gemund, A.J.C.: On the accuracy of spectrum-based fault localization. In: TAICPART 2007: Proceedings of the Testing: Academic and Industrial Conference Practice and Research Techniques, pp. 89–98. IEEE Computer Society, Los Alamitos (2007)
Abreu, R., Zoeteweij, P., Golsteijn, R., van Gemund, A.J.C.: A practical evaluation of spectrum-based fault localization. J. Syst. Softw. 82, 1780–1792 (2009)
Sözer, H., Abreu, R., Akşit, M., van Gemund, A.J.C.: Increasing system availability with local recovery based on fault localization. In: Proc. of 10th International Conference on Quality Software, pp. 276–281 (2010)
Dallmeier, V., Lindig, C., Zeller, A.: Lightweight defect localization for java. In: Black, A.P. (ed.) ECOOP 2005. LNCS, vol. 3586, pp. 528–550. Springer, Heidelberg (2005)
Hopcroft, J.E., Ullman, J.D.: Introduction to Automata Theory, Languages and Computation. Addison-Wesley, Reading (1979)
Xie, Y., Naik, M., Hackett, B., Aiken, A.: Soundness and its role in bug detection systems. In: Proc. of the Workshop on the Evaluation of Software Defect Detection Tools (2005)
Bodden, E., Hendren, L.J., Lam, P., Lhoták, O., Naeem, N.A.: Collaborative runtime verification with tracematches. In: Sokolsky, O., Taşıran, S. (eds.) RV 2007. LNCS, vol. 4839, pp. 22–37. Springer, Heidelberg (2007)
Dwyer, M.B., Diep, M., Elbaum, S.G.: Reducing the cost of path property monitoring through sampling. In: Int’l. Conf. on Aut. Soft. Eng., pp. 228–237 (2008)
Arnold, M., Vechev, M., Yahav, E.: Qvm: An efficient runtime for detecting defects in deployed systems. In: Conf. on Obj. Oriented Prog. Sys. Lang. and App., pp. 143–162 (2008)
Dwyer, M., Purandare, R.: Residual dynamic typestate analysis. In: Int’l. Conf. on Aut. Soft. Eng., pp. 124–133 (2007)
Pozo, R., Miller, B.: Scimark 2.0. (2004), http://math.nist.gov/scimark
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Dwyer, M.B., Purandare, R., Person, S. (2010). Runtime Verification in Context: Can Optimizing Error Detection Improve Fault Diagnosis?. In: Barringer, H., et al. Runtime Verification. RV 2010. Lecture Notes in Computer Science, vol 6418. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-16612-9_4
Download citation
DOI: https://doi.org/10.1007/978-3-642-16612-9_4
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-16611-2
Online ISBN: 978-3-642-16612-9
eBook Packages: Computer ScienceComputer Science (R0)