Abstract
Behaviour models facilitate the analysis of software systems using model-checking tools to detect errors and generate counterexamples. Such models can be generated from existing implementations using a model extraction process. This process should guarantee that an extracted model is a faithful representation of the system, so that analysis results may be trusted. This paper discusses the formal foundations of our model extraction process based on contexts. Contexts are abstractions of concrete states of a system, providing valuable information about dependencies between actions. Models are generated by a tool called LTS Extractor and can be refined to improve correctness by augmenting context information. This refinement process eliminates some false negatives and is property-preserving. Completeness of the models depends on the coverage provided by a set of traces describing behaviours of the system. We discuss the faithfulness of our models and results of two case studies.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Ball, T., Rajamani, S.K.: The SLAM Project: Debugging System Software via Static Analysis. In: POPL, Portland, OR, USA, January 2002, pp. 1–3 (2002)
Chaki, S., Clarke, E.M., Ouaknine, J., et al.: State/Event-Based Software Model Checking. In: Boiten, E.A., Derrick, J., Smith, G.P. (eds.) IFM 2004. LNCS, vol. 2999, pp. 128–147. Springer, Heidelberg (2004)
Chaki, S., Clarke, E.M., Groce, A., et al.: Modular Verification of Software Components in C. IEEE TSE 30(6), 388–402 (2004)
Clarke, E.M., Wing, J.M.: Formal Methods: State of the Art and Future Directions. ACM Computing Surveys 28(4), 626–643 (1996)
Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. The MIT Press, Cambridge (1999)
Cook, J.E., Wolf, A.L.: Discovering Models of Software Processes from Event-Based Data. ACM ToSEM 7(3), 215–249 (1998)
Corbett, J.C., Dwyer, M.B., Hatcliff, J., et al.: Bandera: Extracting Finite-State Models from Java Source Code. In: ICSE, Limerick, Ireland, June 2000, pp. 439–448 (2000)
Duarte, L.M., Kramer, J., Uchitel, S.: Model Extraction Using Context Information. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS 2006. LNCS, vol. 4199, pp. 380–394. Springer, Heidelberg (2006)
Duarte, L.M.: Behaviour Model Extraction using Context Information. Ph.D. thesis, Imperial College London, University of London (November 2007)
Garcia-Molina, H.: Elections in a Distributed Computing System. IEEE Trans. on Computers C-31(1), 48–59 (1982)
Giannakopoulou, D., Magee, J.: Fluent Model Checking for Event-Based Systems. In: ESEC/FSE, Helsinki, Finland, September 2003, pp. 257–266 (2003)
Graf, S., Saidi, H.: Construction of Abstract State Graphs with PVS. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254, pp. 72–83. Springer, Heidelberg (1997)
Havelund, K., Pressburguer, T.: Model Checking Java Programs Using Java PathFinder. STTT 2(4), 366–381 (2000)
Henzinger, T.A., Jahla, R., Majumdar, R., et al.: Lazy Abstraction. In: POPL, Portland, OR, USA, January 2002, pp. 58–70 (2002)
Holzmann, G.J., Smith, M.H.: A Practical Method for Verifying Event-Driven Software. In: ICSE, Los Angeles, USA, May 1999, pp. 597–607 (1999)
Jackson, D., Damon, C.A.: Software Analysis: A Roadmap. In: ICSE, Limerick, Ireland, June 2000, pp. 133–145 (2000)
Leuschel, M., Massart, T., Currie, A.: How to Make FDR Spin: LTL Model Checking of CSP by Refinement. In: Oliveira, J.N., Zave, P. (eds.) FME 2001. LNCS, vol. 2021, pp. 99–118. Springer, Heidelberg (2001)
Ludewig, J.: Models in Software Engineering - An Introduction. SoSyM 2(1), 5–14 (2003)
Magee, J., Kramer, J.: Concurrency: State Models and Java Programming, 2nd edn. Wiley and Sons, Chichester (2006)
Manna, Z., Pnueli, A.: The Temporal Logic of Reactive and Concurrent Systems. Springer, New York (1992)
Mariani, L.: Behavior Capture and Test: Dynamic Analysis of Component-Based Systems. Ph.D. thesis, Università degli Studi di Milano Bicocca (2005)
Uchitel, S., Kramer, J., Magee, J.: Behaviour Model Elaboration Using Partial Labelled Transition Systems. In: ESEC/FSE, Helsinki, Finland, September 2003, pp. 19–27 (2003)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Duarte, L.M., Kramer, J., Uchitel, S. (2008). Towards Faithful Model Extraction Based on Contexts. In: Fiadeiro, J.L., Inverardi, P. (eds) Fundamental Approaches to Software Engineering. FASE 2008. Lecture Notes in Computer Science, vol 4961. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-78743-3_9
Download citation
DOI: https://doi.org/10.1007/978-3-540-78743-3_9
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-78742-6
Online ISBN: 978-3-540-78743-3
eBook Packages: Computer ScienceComputer Science (R0)