Skip to main content
Log in

Feature interaction detection by pairwise analysis of LTL properties—A case study

  • Published:
Formal Methods in System Design Aims and scope Submit manuscript

Abstract

A Promela specification and a set of temporal properties are developed for a basic call service with a number of features. The properties are expressed in the logic LTL.

Interactions between features are detected by pairwise analysis of features and properties. The analysis quickly results in both state-space and property case explosion. To overcome this state-spaces are minimised, model checking results generalised through symmetry and bisimulation, and analysis performed automatically using scripts. The result is a more extensive feature interaction analysis than others in the field.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

Similar content being viewed by others

Notes

  1. Unless stated otherwise, we use spin version 4.07 throughout this paper.

References

  1. K. R. Apt and D.C. Kozen, “Limits for automatic verification of finite-state concurrent systems,” Inform. Proc. Lett., Vol. 22, pp. 307–309, 1986.

    Google Scholar 

  2. M. Browne, E. Clarke, and O. Grumberg, “Characterizing finite Kripke structures in propositional temporal logic,” Theor Comp Sci, Vol. 59, pp. 115–131, 1988.

  3. M. Calder and E. Magill (Eds.), Feature Interactions in Telecommunications and Software Systems VI. Amsterdam, IOS Press, 2000.

  4. M. Calder and A. Miller, “Using SPIN for feature interaction analysis—A case study,” in M.B. Dwyer (Ed.), Proceedings of the 8th International SPIN Workshop (SPIN 2001), volume 2057 of Lecture Notes in Computer Science, Springer-Verlag, Toronto, Canada, May 2001, pp. 143–162.

  5. M. Calder and A. Miller, “Analysing a basic call protocol using Promela/XSPIN,” in G. Holzmann, E. Najm, and A. Serhrouchni (Eds.), Proceedings of the 4th Workshop on Automata Theoretic Verification with the SPIN Model Checker (SPIN '98), Paris, France, November 1998, pp. 169–181.

  6. M. Calder and A. Miller, “Automatic verification of any number of concurrent, communicating processes,” in Proceedings of the 17th IEEE International Conference on Automated Software Engineering (ASE 2002) IEEE Computer Society Press, Edinburgh, UK: September 2002, pp. 227–230.

  7. E.J. Cameron, N. Griffeth, Y.-J. Lin, M.E. Nilson, and W.K. Schnure,“ A feature interaction benchmark for IN and beyond,” in L.G. Bouma and H. Velthuijsen (Eds.), Feature Interactions in Telecommunications Systems, Amsterdam IOS Press, May 1994, pp. 1–23.

  8. A. Cimatti, F. Giunchiglia, G. Mingardi, D. Romano, F. Torielli, and P. Traverso. “Model checking safety critical software with SPIN: an application to a railway interlocking system,” in Proceedings of the Third SPIN Workshop, Twente University, Enschede, The Netherlands, April 1997, pp. 5–17.

  9. E. Clarke, O. Grumberg, and S. Jha, “Verifying parameterized networks using abstraction and regular languages,” in I. Lee and S.A. Smolka (Eds.), Proceedings of the 6th International Conference on Concurrency Theory (CONCUR '95), volume 962 of Lecture Notes in Computer Science, Philadelphia, PA., Springer-Verlag, August 1995, pp. 395–407.

  10. E. Clarke, O. Grumberg, and D. Long, “Model checking and abstraction,” ACM Transactions on Programming Languages and Systems, Vol. 16, No. 5, pp. 1512–1542, 1994.

  11. E. Clarke, O. Grumberg, and D. Peled. Model Checking. Cambridge, Masachusetts, The MIT Press, 1999.

  12. S.J. Creese and A.W. Roscoe, “Data independent induction over structured networks,” in Proceedings of the International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA'00), volume II, Las Vegas, Nevada, USA, CSREA Press, June 2000.

  13. D. Dill, A. Drexler, A. Hu, and C.H. Yang,“Protocol verification as a hardware design aid,” in Proceedings 1992 IEEE International Conference on Computer Design: VLSI in Computer Processors (ICCD'92), IEEE Computer Society, Cambridge, Massachusetts, USA, October 1992, pp. 522–525.

  14. M.B. Dwyer, G.S. Avrunin, and J.C. Corbett, “Property specification patterns for finite-state verification,” in Proceedings of the Second International Workshop on Formal Methods in Software Practice (FMSP '98), ACM Press, March 1998, pp. 7–15.

  15. M.B. Dwyer and J. Hatcliff, “Slicing software for model construction”, in O. Danvy (Ed.), Proceedings of ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation (PEPM'99), San Antonio, Texas, January 1999, pp. 105–118, University of Aarhus. Technical report BRICS-NS-99-1.

  16. E. Emerson, “Temporal and modal logic,” in J.V. Leeuwen (Ed.), Handbook of Theoretical Computer Science, MIT Press, Cambridge, MA, USA, 1990, pp. 995–1072.

  17. E. Emerson and J. Halpern, “sometimes” and “not never” revisited: On branching time versus linear time. J. ACM, Vol. 33, pp. 151–178, 1986.

    Google Scholar 

  18. E. Emerson and V. Kahlon, “Reducing model checking of the many to the few,” in D. A. McAllester (Ed.), Automated Deduction—Proceedings of the 17th International Conference on Automated Deduction (CADE 2000), volume 1831 of Lecture Notes in Computer Science, Springer-Verlag, Pittsburgh, PA, USA, June 2000, pp. 236–254.

  19. E. Emerson and K. Namjoshi, “Reasoning about rings,” in Conference Record of the 22nd Annual ACM Symposium on Principles of Programming Languages (POPL '95), ACM Press, San Francisco, California, January 1995, pp. 85–94.

  20. A. Felty and K. Namjoshi, “Feature specification and automatic conflict detection,” in Calder and Magill [3], pp. 179–192.

  21. S.M. German and A.P. Sistla, “Reasoning about systems with many processes,” J. ACM, Vol. 39, No. 3, pp. 675–735, 1992.

  22. R. Gerth, D. Peled, M. Vardi, and P. Wolper, “Simple on-the-fly automatic verification of linear temporal logic,” in Proceedings of the 15th international Conference on Protocol Specification Testing and Verification (PSTV '95), Chapman & Hall, Warsaw, Poland, 1995, pp. 3–18.

  23. O. Grumberg and D.E. Long, “Model checking and modular verification,” in J. C.M. Baeten and J. F. Groote (Eds.), Proceedings of the 2nd International Conference on Concurrency Theory (CONCUR '91), volume 527 of Lecture Notes in Computer Science, Springer-Verlag, Amsterdam, The Netherlands, August 1991, pp. 250–265.

  24. R.J. Hall, “Feature combination and interaction detection via foreground/background models,” in Kimbler and Bouma [37], pp. 232–246.

  25. C.L. Heitmeyer, J. Jr. Kirby, B. Labaw, M. Archer, and R. Bharadwaj, “Using abstraction and model checking to detect safety violations in requirements specifications,” IEEE Transactions on Software Engineering, Vol. 24, No. 11, pp. 927–948, Nov. 1998.

  26. G. Holzmann, “Design and validation of protocols: A tutorial,” Computer Networks and ISDN Systems, Vol. 25, pp. 981–1017, 1993.

  27. G. Holzmann, “The model checker SPIN,” IEEE Trans. Soft. Engin., Vol. 23, No. 5, pp. 279–295, 1997.

  28. G. Holzmann, “State compression in spin: Recursive indexing and compression training runs,” in Langerak [42].

  29. G. Holzmann, “The engineering of a model checker: The Gnu i-protocol case study revisited,” in D. Dams, R. Gerth, S. Leue, and M. Massink (Eds.), Proceedings of the 5th and 6th International Spin Workshops, volume 1680 of Lecture Notes in Computer Science, Springer-Verlag, Trento, Italy and Toulouse, France, 1999, pp. 232–244.

  30. G. Holzmann The SPIN Model Checker: Primer and Reference Manual, Addison Wesley, Boston, 2003.

  31. G. Holzmann and D. Peled, “An improvement in formal verification,” in D. Hogrefe and S. Leue (Eds.), Proceedings of the 7th WG6.1 International Conference on Formal Description Techniqus (FORTE '94), Volume 6 of Internationl Federation For Information Processing, Berne, Switzerland, Chapman and Hall, October 1994, pp. 197–211.

  32. G. Holzmann and M. Smith, “A practical method for the verification of event-driven software,” in Proceedings of the 21st international conference on on Software engineering (ICSE'99), Los Angeles, California, USA, ACM Press, May 1999, pp. 597–607.

  33. G. Holzmann and M. Smith, “Software model checking—extracting verification models from source code,” in J. Wu, S. Chanson, and Q. Gao (Eds.), Proceedings of the Joint International Conference on Formal Description Techniques for Distributed Systems and Communiction Protocols and Protocol Specification, Testing and Verification (FORTE/PSTV '99), volume 156 of International Federtion. For Information Processing, Beijing, China, Kluwer, October 1999, pp. 481–497.

  34. IN Distributed Functional Plane Architecture, recommmendation q. 1204, ITU-T edition, March 1992.

  35. C. Norris Ip and D.L. Dill, “Verifying systems with replicated components in Murφ,” Formal Methods in System Design Vol. 14, pp. 273–310, 1999.

  36. B. Jonsson, T. Margaria, G. Naeser, J. Nystroem, and B. Steffen, “Incremental requirement specification for evoling systems,” in Calder and Magill [3], pp. 145–162.

  37. K. Kimbler and L.G. Bouma (Eds.), Feature Interactions in Telecommunications and Software Systems V. IOS Press, Amsterdam, September 1998.

  38. M. Kolberg, E.H. Magill, D. Marples, and S. Reiff, “Results of the second feature interaction contest,” in Calder and Magill [3], pp. 311–325.

  39. R.P. Kurshan and K.L. McMillan, “A structural induction theorem for processes,” in Proceedings of the eighth Annual ACM Symposium on Principles of Distrubuted Computing, ACM Press, 1989, pp. 239–247.

  40. R.P. Kurshan, M. Merritt, A. Orda, and S.R. Sachs, “A structural linearization principle for processes,” Formal Methods in System Design, Vol. 5, No. 3, pp. 227–244, December 1994.

  41. L. Lamport, “What good is temporal logic?” Information Processing, Vol. 83, pp. 657–668, 1983.

  42. R. Langerak (Ed.), Proceedings of the 3rd SPIN Workshop (SPIN'97), Twente University, The Netherlands, April 1997.

  43. S. Leue and P. Ladkin, “Implementing and verifying msc specifications using promela/XSPIN,” in J.-Ch. Gregoire, G.J. Holzmann, and D. Peled (Eds.), Proceedings of the 2nd Workshop on the SPIN verification System, volume 32 of DIMACS Series in Discrete Mathematics and Theoreticl computer Science, Rutgers University, New Jersey, USA, August 1996. American Mathematical Society, pp. 65–89.

  44. Z. Manna and A. Pnueli, “Tools and rules for the practicing verifier,” Technical Report STAN-CS-90-1321, Stanford University, June 1990.

  45. K.L. McMillan. Symbolic Model Checking, Kluwer Academic Publishers, Boston, Massachusetts, USA, 1993.

  46. D. Peled, “Combining partial order reductions with on-the-fly model checking,” Form Meth Syst Des, Vol. 8, pp. 39–64, 1996.

  47. D. Peled, “Partial order reduction: Linear and branching temporal logics and process algebras,” in D. Peled, V. Pratt, and G. Holzmann (Eds.), in Proceedings of the DIMACS Workshop on Partial-Order Methods in Verification (POMIV '96), volume 29 of DIMACS Series in Series in Districte Mathmatices and Theoretical Computer Science, pp. 233–257, Princeton, New Jersey, USA, 1996. American Mathematical Society.

  48. M. Plath and M. Ryan, “Plug-and-play features,” in Kimbler and Bouma [37], pp. 150–164.

  49. A. Pnuelli, “The temporal semantics of concurrent programs,” Theore Compu Sci, Vol. 13, PP. 45–60, 1981.

  50. A.W. Roscoe, “Model-checking CSP,” in A.W. Roscoe (Ed.), A Classical Mind: Essays in Honour of C.A.R. Hoare, Prentice-Hall International, Englewood Cliffs, NJ, 1994, chapter 21, pp. 353–378.

  51. A. Roychoudhury and I.V. Ramakrishnan, “Automated inductive verification of parameterized protocols,” in G. Berry, H. Comon, and A. Finkel (Eds.), Proceedings of the 13th International Conference on Computer-aided Verification (CAV 2001), volume 2102 of Lecture Notes in Computer Science, Springer-Verlag, Paris, France, July 2001, pp. 25–37.

  52. T.C. Ruys, “Low-fat recipes for SPIN,” in K. Havelund, J. Penix, and W. Visser (Eds.), Proceedings of the 7th SPIN Workshop (SPIN 2000), volume 1885 of Lecture Notes in Computer Science, Springer-Verlag Stanford, California, USA, September 2000, pp. 287–321.

  53. M. Smith, G. Holzmann, and K. Etessami,“ Events and constraints: A graphical editor for capturing logic requirements of programs,” in Proceedings of the 5th IEEE International symposium on Requirements Engineering, Toronto, Canada, IEEE Computer Society, August 2001, pp. 14–22.

  54. M. Thomas, “Modelling and analysing user views of telecommunications services,” in P. Dini, R. Boutaba, and L. Logrippo (Eds.), Feature Interactions in Telecommunication Networks IV, IOS Press, Amsterdam, June 1997, pp. 168–182.

  55. W. Visser, K. Havelund, G. Brat, and S. Park, “Model checking programs,” in P. Alexander and P. Flener (Eds.), Proceedings of the 15th IEEE Conference on Automated Software Engineering (ASE-2000), IEEE Computer Society Press, Grenoble, France, September 2000, pp. 3–12.

  56. P. Wolper and V. Lovinfosse, “Properties of large sets of processes with network invariants (extended abstract),” in J. Sifakis (Ed.), Proceedings of the International Workshop in Automatic Verification Methods for Finite State Systems, volume 407 of Lecture Notes in Computer Science, Springer-Verlag. Grenoble, France, June 1989, pp. 68–80.

Download references

Acknowledgments

This work has been supported by a Daphne Jackson Fellowship, the EPSRC, and Microsoft Research. We would like to thank the anonymous referees for their valuable suggestions.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Muffy Calder.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Calder, M., Miller, A. Feature interaction detection by pairwise analysis of LTL properties—A case study. Form Method Syst Des 28, 213–261 (2006). https://doi.org/10.1007/s10703-006-0002-5

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10703-006-0002-5

Keywords

Navigation