Abstract
Static analysis of software processes is important in assessing the correctness of processes, particularly since their long duration and distributed execution make them difficult to test. We describe a novel approach to building a static analyzer that can detect programming errors and anomalies in processes written in Little-JIL. We describe semantic rules declaratively in first-order logic and use xlinkit, a constraint checker, to check the processes. We have used this approach to develop a checker that can find simple syntactic errors as well as more complex control and data flow anomalies.
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
Cobleigh, J.M., Clarke, L.A., Osterweil, L.J.: Verifying properties of process definitions. In: Proceedings of the International Symposium on Software Testing and Analysis (ISSTA), Portland, Oregon, pp. 96–101 (August 2000)
Corbett, J., Dwyer, M., Hatcliff, J., Pasareanu, C., Robby, Laubach, S., Zheng, H.: Bandera: Extracting finite-state models from Java source code. In: Proceedings of the 22nd International Conference on Software Engineering (June 2000)
Dwyer, M.B., Clarke, L.A.: Data flow analysis for verifying properties of concurrent programs. In: Proceedings of the ACM SIGSOFT 1994 Symposium on the Foundations of Software Engineering, December 1994, pp. 62–75 (1994)
Flanagan, C., Rustan, K., Leino, M., Lillibridge, M., Nelson, G., Saxe, J.B., Stata, R.: Extended static checking for Java. In: Proceedings of the 2002 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), Berlin, June 2002, pp. 234–245 (2002)
Magee, J., Kramer, J.: Concurrency: State Models and Java Programs. John Wiley & Sons, Chichester (1999)
Nentwich, C., Emmerich, W., Finkelstein, A.: Static consistency checking for distributed specifications. In: International Conference on Automated Software Engineering (ASE), Coronado Bay, CA (2001)
van den Berg, J., Jacobs, B.: The LOOP compiler for Java and JML. In: Margaria, T., Yi, W. (eds.) TACAS 2001. LNCS, vol. 2031, pp. 299–312. Springer, Heidelberg (2001)
Wise, A.: Little-JIL 1.0 language report. Technical Report TR 98-24, University of Massachusetts, Department of Computer Science (1998), Available at ftp://ftp.cs.umass.edu/pub/techrept/techreport/1998/UM-CS-1998-024.ps
Wise, A., Cass, A.G., Lerner, B.S., McCall, E.K., Osterweil, L.J., Sutton Jr., S.M.: Using Little-JIL to coordinate agents in software engineering. In: Proceedings of the Automated Software Engineering Conference (ASE 2000), Grenoble, France, September 2000, pp. 155–164 (2000)
World Wide Web Consortium. Extensible markup language (XML), http://www.w3.org/XML/
World Wide Web Consortium. XMLpath language (XPath). W3CRecommendation, November 16 (1999) Version 1.0, http://www.w3.org/TR/xpath
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Rura, S., Lerner, B. (2003). Flexible Static Semantic Checking Using First-Order Logic. In: Oquendo, F. (eds) Software Process Technology. EWSPT 2003. Lecture Notes in Computer Science, vol 2786. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-45189-1_11
Download citation
DOI: https://doi.org/10.1007/978-3-540-45189-1_11
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-40764-5
Online ISBN: 978-3-540-45189-1
eBook Packages: Springer Book Archive