Abstract
In recent years we have seen an increase in the complexity of embedded system design and in the difficulties of their verification. As a result, engineers have been trying to verify the specifications at a higher level of abstraction. In this paper we present an automated tool which is able to perform runtime verification of a programs logical properties asserted by the programmer. The idea is to leverage the Assertion Based Verification language PSL, which is widely used by hardware engineers, extending it to the software verification of C language programs. The properties expressed in a simple subset of PSL are evaluated by the tool during full system simulation. Like in hardware Assertion Based Verification, the tool can handle both safety properties (absence of bad events) and liveness properties (good events eventually happen). The liveness property is not widely supported in existing verification tools.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Accellera, SystemVerilog
Accellera, IEEE P1850 PSL
Past, Present and Future: Oxford University Press (1967)
The temporal logic of programs. In: Proceedings of the 18th IEEE Symposium on the Foundations of Computer Science (FOCS-77), pp. 46–57 (1977)
Forin, A., Neekzad, B., Lynch, N.L.: Giano: The Two-Headed System Simulator. Microsoft Research Technical Report, vol. MSR-TR-2006-130 (2006)
Drusinsky, D.: The Temporal Rover and the ATG Rover. In: Havelund, K., Penix, J., Visser, W. (eds.) SPIN 2000. LNCS, vol. 1885, pp. 323–330. Springer, Heidelberg (2000)
Drusinsky, D.: Monitoring Temporal Rules Combined with Time Series. In: Hunt Jr., W.A., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 114–117. Springer, Heidelberg (2003)
Roşu, G., Havelund, K.: Rewriting-based Techniques for Runtime Verification. J. of ASE 12, 151–197 (2005)
Havelund, K., Roşu, G.: Java PathExplorer — A runtime verification tool. In: Proceedings 6th International Symposium on Artificial Intelligence, Robotics and Automation in Space, ISAIRAS’01, Montreal, Canada (2001)
Leavens, G.T., Poll, E., Clifton, C., Cheon, Y., Ruby, C., Cok, D., Muller, P., Kiniry, J., Chalin, P.: JML Reference Manual (2006)
Chalin, P., James, P.: Cross-Verification of JML Tools: An ESC/Java2 Case Study. Microsoft Research Technical Report, vol. MSR-TR-2006-117 (2006)
Chalin, P., Hurlin, C., Kiniry, J.: Integrating Static Checking and Interactive Verification: Supporting Multiple Theories and Provers in Verification. In: VSTTE’05 (2005)
Barnett, M., M. Leino, K.R., Schulte, W.: The Spec# Programming System: An Overview. In: Barthe, G., Burdy, L., Huisman, M., Lanet, J.-L., Muntean, T. (eds.) CASSIS 2004. LNCS, vol. 3362, pp. 49–69. Springer, Heidelberg (2005)
Xie, F., Song, X., Chung, H., Nandi, R.: Translation-based co-verification. In: 3rd ACM IEEE International Conference on Formal Methods and Models for Co-Design (MEMOCODE 2005), pp. 111–120 (2005)
Meyer, B.: Object-Oriented Software Construction, 2nd edn. Prentice Hall Professional, Englewood Cliffs (1997)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer Berlin Heidelberg
About this paper
Cite this paper
Cheung, P.H., Forin, A. (2007). A C-Language Binding for PSL. In: Lee, YH., Kim, HN., Kim, J., Park, Y., Yang, L.T., Kim, S.W. (eds) Embedded Software and Systems. ICESS 2007. Lecture Notes in Computer Science, vol 4523. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-72685-2_54
Download citation
DOI: https://doi.org/10.1007/978-3-540-72685-2_54
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-72684-5
Online ISBN: 978-3-540-72685-2
eBook Packages: Computer ScienceComputer Science (R0)