Skip to main content

Flexible Static Semantic Checking Using First-Order Logic

  • Conference paper
Software Process Technology (EWSPT 2003)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2786))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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)

    Google Scholar 

  2. 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)

    Google Scholar 

  3. 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)

    Google Scholar 

  4. 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)

    Google Scholar 

  5. Magee, J., Kramer, J.: Concurrency: State Models and Java Programs. John Wiley & Sons, Chichester (1999)

    MATH  Google Scholar 

  6. Nentwich, C., Emmerich, W., Finkelstein, A.: Static consistency checking for distributed specifications. In: International Conference on Automated Software Engineering (ASE), Coronado Bay, CA (2001)

    Google Scholar 

  7. 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)

    Chapter  Google Scholar 

  8. 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

  9. 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)

    Google Scholar 

  10. World Wide Web Consortium. Extensible markup language (XML), http://www.w3.org/XML/

  11. World Wide Web Consortium. XMLpath language (XPath). W3CRecommendation, November 16 (1999) Version 1.0, http://www.w3.org/TR/xpath

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics