Abstract
The cost to repair a requirements-based defect in software-based systems increases substantially with each successive phase of the software lifecycle in which the error is allowed to propagate. While tools exist to facilitate early detection of design flaws, such tools do not detect flaws in system requirements, thus allowing such flaws to propagate into system design and implementation. This paper describes an experience report using a toolchain that supports a novel combination of structural and behavioral analysis of UML state diagrams that is not currently available in commercial UML modeling tools. With the toolchain, models can be incrementally and systematically improved through syntax-based analysis, type checking, and detection of latent behavioral system properties, including feature interactions. This paper demonstrates use of the toolchain on an industry-provided model of onboard electronics for an automotive application.
This work has been supported in part by NSF grants CCF-0541131, IIP-0700329, CCF-0750787, CCF-0820220, DBI-0939454, CNS-0854931, Army Research Office grant W911NF-08-1-0495, Ford Motor Company, and a Quality Fund Program grant from Michigan State University. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation, Army, Ford, or other research sponsors.
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
Lutz, R.R.: Analyzing software requirements errors in safety-critical, embedded systems. In: Proceedings of IEEE International Symposium on Requirements Engineering, pp. 126–133. IEEE, Los Alamitos (1993)
Pressman, R.: Software Engineering: A Practitioner’s Approach (2007)
Holzmann, G.J.: The model checker SPIN. IEEE Transactions on Software Engineering 23(5), 279–295 (2002)
Pnueli, A.: The temporal logic of programs. In: 18th Annual Symposium on Foundations of Computer Science, pp. 46–57. IEEE, Los Alamitos (1977)
Kars, P.: The Application of PROMELA and SPIN in the BOS Project. In: The Spin Verification System: The Second Workshop on the SPIN Verification System: Proceedings of a DIMACS Workshop, August 5, page 51. American Mathematical Society, Providence (1997)
Havelund, K., Lowry, M., Park, S.J., Pecheur, C., Penix, J., Visser, W., White, J.L., et al.: Formal analysis of the remote agent before and after flight. In: Lfm2000: Fifth NASA Langley Formal Methods Workshop, Citeseer (2000)
Goldsby, H.J., Cheng, B.H.C.: Automatically Discovering Properties That Specify the Latent Behavior of UML Models. In: Petriu, D.C., Rouquette, N., Haugen, Ø. (eds.) MODELS 2010. LNCS, vol. 6394, pp. 316–330. Springer, Heidelberg (2010)
Bäck, T., Fogel, D.B., Michalewicz, Z.: Handbook of evolutionary computation. Taylor & Francis, Abington (1997)
Lehman, J., Stanley, K.O.: Exploiting open-endedness to solve problems through the search for novelty. Artificial Life 11, 329 (2008)
McUmber, W.E., Cheng, B.H.C.: A general framework for formalizing UML with formal languages. In: Proceedings of the 23rd International Conference on Software Engineering, pp. 433–442. IEEE Computer Society, Los Alamitos (2001)
Holzmann, G.J.: Design and validation of computer protocols, vol. 94. Prentice Hall, New Jersey (1991)
Dwyer, M.B., Avrunin, G.S., Corbett, J.C.: Patterns in property specifications for finite-state verification. In: Proceedings of the 21st International Conference on Software Engineering, pp. 411–420. IEEE Computer Society Press, Los Alamitos (1999)
Konrad, S., Cheng, B.H.C.: Real-time specification patterns. In: Proceedings of the International Conference on Software Engineering (ICSE 2005), St Louis, MO, USA (2005)
Egyed, A.: Automatically detecting and tracking inconsistencies in software design models. IEEE Transactions on Software Engineering (2010)
Engels, G., Küster, J.M., Heckel, R., Groenewegen, L.: A methodology for specifying and analyzing consistency of object-oriented behavioral models 26(5):186–195 (2001)
Gomaa, H., Wijesekera, D.: Consistency in multiple-view UML models: a case study. In: Workshop on Consistency Problems in UML-based Software Development II, page 1. Citeseer (2003)
Schwarzl, C., Peischl, B.: Static- and dynamic consistency analysis of UML state chart models. In: Petriu, D.C., Rouquette, N., Haugen, Ø. (eds.) MODELS 2010. LNCS, vol. 6394, pp. 151–165. Springer, Heidelberg (2010)
Simmonds, J., Van Der Straeten, R., Jonckers, V., Mens, T.: Maintaining consistency between UML models using description logic. Série L’objet-logiciel, base de données, réseaux 10(2-3), 231–244 (2004)
Wagner, R., Giese, H., Nickel, U.: A plug-in for flexible and incremental consistency management. In: Proc. of the International Conference on the Unified Modeling Language 2003 (Workshop 7: Consistency Problems in UML-based Software Development), San Francisco, USA (2003)
Baader, F.: The description logic handbook: theory, implementation, and applications. Cambridge Univ. Pr., Cambridge (2003)
Chan, W.: Temporal-logic queries. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855, pp. 450–463. Springer, Heidelberg (2000)
Chang, R.M., Avrunin, G.S., Clarke, L.A.: Property inference from program executions. Technical Report UM-CS-2006-26, University of Massachusetts (2006)
Gurfinkel, A., Chechik, M., Devereux, B.: Temporal logic query checking: A tool for model exploration. IEEE Transactions on Software Engineering 29(10), 898–914 (2003)
Weimer, W., Necula, G.C.: Mining temporal specifications for error detection. In: Halbwachs, N., Zuck, L.D. (eds.) TACAS 2005. LNCS, vol. 3440, pp. 461–476. Springer, Heidelberg (2005)
Yang, J., Evans, D., Bhardwaj, D., Bhat, T., Das, M.: Perracotta: mining temporal API rules from imperfect traces. In: ICSE 2006: Proceedings of the 28th International Conference on Software Engineering, pp. 282–291. ACM, New York (2006)
Smith, R.L., Avrunin, G.S., Clarke, L.A., Osterweil, L.J.: Propel: an approach supporting property elucidation. In: ICSE 2002: Proceedings of the 24th International Conference on Software Engineering, pp. 11–21. ACM, New York (2002)
Jensen, A.C., Cheng, B.H.C., Goldsby, H.J.: A toolchain for the detection of structural and behavioral latent system properties. Technical Report MSU-CSE-11-10, Computer Science and Engineering, Michigan State University, East Lansing, Michigan (May 2011)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Jensen, A.C., Cheng, B.H.C., Goldsby, H.J., Nelson, E.C. (2011). A Toolchain for the Detection of Structural and Behavioral Latent System Properties. In: Whittle, J., Clark, T., Kühne, T. (eds) Model Driven Engineering Languages and Systems. MODELS 2011. Lecture Notes in Computer Science, vol 6981. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-24485-8_50
Download citation
DOI: https://doi.org/10.1007/978-3-642-24485-8_50
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-24484-1
Online ISBN: 978-3-642-24485-8
eBook Packages: Computer ScienceComputer Science (R0)