Abstract
The usefulness of a system specification depends on the completeness of the requirements specified. Unfortunately it is difficult to ensure a requirements specification includes all necessary requirements, especially when the system interacts with an unpredictable and often idealized environment. Worse yet, a single completeness counterexample may not clearly indicate the extent that incomplete requirements impacts the system or what range of environmental scenarios are affected. This paper introduces Ares-EC, a design-time approach for detecting incomplete requirements decomposition using a combination of evolutionary computation and symbolic analysis of hierarchical requirements models to detect a set of representative incompleteness counterexamples. We illustrate our approach by applying Ares-EC to a requirements model of an industry-based automotive adaptive cruise control system. Ares-EC is able to apply symbolic analysis and evolutionary computation to automatically detect diverse and representative sets of requirements incompleteness counterexamples at design time.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Ares is the Greek god of war, especially the untamed aspects of war.
References
Alrajeh, D., Kramer, J., van Lamsweerde, A., Russo, A., Uchitel, S.: Generating obstacle conditions for requirements completeness. In: Proceedings of the 34th International Conference on Software Engineering, pp. 705–715 (2012)
Cheng, B.H.C., Atlee, J.M.: Research directions in requirements engineering. In: ICSE 2007 Future of Software Engineering, pp. 285–303 (2007)
Cheng, B.H.C., Sawyer, P., Bencomo, N., Whittle, J.: A goal-based modeling approach to develop requirements of an adaptive system with environmental uncertainty. In: Schürr, A., Selic, B. (eds.) MODELS 2009. LNCS, vol. 5795, pp. 468–483. Springer, Heidelberg (2009). doi:10.1007/978-3-642-04425-0_36
Cormen, T.H.: Introduction to Algorithms. MIT press, Cambridge (2009)
Darimont, R., Van Lamsweerde, A.: Formal refinement patterns for goal-driven requirements elaboration. ACM SIGSOFT Softw. Eng. Notes 21, 179–190 (1996)
de Moura, L., Bjørner, N.: Z3: an efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008). doi:10.1007/978-3-540-78800-3_24
Deb, K.: Multi-objective Optimization Using Evolutionary Algorithms. Wiley, New York (2005)
Deb, K., Agrawal, R.B.: Simulated binary crossover for continuous search space. Complex Syst. 9(3), 1–15 (1994)
Deb, K., Pratap, A., Agarwal, S., Meyarivan, T.: A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Trans. Evol. Comput. 6(2), 182–197 (2002)
DeVries, B., Cheng, B.H.C.: Automatic detection of incomplete requirements via symbolic analysis. In: 19th International Conference on Model Driven Engineering Languages and Systems (MODELS 2016), Proceedings, Saint-Malo, France, October 2–7, pp. 385–395 (2016)
Eiben, A.E., Smith, J.E., et al.: Introduction to Evolutionary Computing, vol. 53. Springer, Heidelberg (2003). doi:10.1007/978-3-662-05094-1
Feather, M.S., Fickas, S., Van Lamsweerde, A., Ponsard, C.: Reconciling system requirements and runtime behavior. In: Proceedings of the 9th International Workshop on Software Specification and Design, p. 50 (1998)
Ferrari, A., dell’Orletta, F., Spagnolo, G.O., Gnesi, S.: Measuring and improving the completeness of natural language requirements. In: Salinesi, C., Weerd, I. (eds.) REFSQ 2014. LNCS, vol. 8396, pp. 23–38. Springer, Cham (2014). doi:10.1007/978-3-319-05843-6_3
Fickas, S., Feather, M.S.: Requirements monitoring in dynamic environments. In: Proceedings of the Second IEEE International Symposium on Requirements Engineering, pp. 140–147 (1995)
Garlan, D., Cheng, S.W., Huang, A.C., Schmerl, B., Steenkiste, P.: Rainbow: architecture-based self-adaptation with reusable infrastructure. Computer 37(10), 46–54 (2004)
Harman, M., Mansouri, S.A., Zhang, Y.: Search-based software engineering: trends, techniques and applications. ACM Comput. Surv. (CSUR) 45(1), 11 (2012)
Lehman, J., Stanley, K.O.: Abandoning objectives: evolution through the search for novelty alone. Evol. Comput. 19(2), 189–223 (2011)
Leveson, N.: Completeness in formal specification language design for process-control systems. In: Proceedings of the Third Workshop on Formal Methods in Software Practice, pp. 75–87 (2000)
Menzel, I., Mueller, M., Gross, A., Doerr, J.: An experimental comparison regarding the completeness of functional requirements specifications. In: 2010 18th IEEE International Requirements Engineering Conference (RE), pp. 15–24 (2010)
Ramirez, A.J., Cheng, B.H.C.: Automatic derivation of utility functions for monitoring software requirements. In: Whittle, J., Clark, T., Kühne, T. (eds.) MODELS 2011. LNCS, vol. 6981, pp. 501–516. Springer, Heidelberg (2011). doi:10.1007/978-3-642-24485-8_37
Souyris, J., Wiels, V., Delmas, D., Delseny, H.: Formal verification of avionics software products. In: Cavalcanti, A., Dams, D.R. (eds.) FM 2009. LNCS, vol. 5850, pp. 532–546. Springer, Heidelberg (2009). doi:10.1007/978-3-642-05089-3_34
Van Lamsweerde, A., et al.: Requirements Engineering: From System Goals to UML Models to Software Specifications. Wiley, Chichester (2009)
Walsh, W.E., Tesauro, G., Kephart, J.O., Das, R.: Utility functions in autonomic systems. In: International Conference on Autonomic Computing, Proceedings, pp. 70–77 (2004)
Whittle, J., Sawyer, P., Bencomo, N., Cheng, B.H.C.: A language for self-adaptive system requirements. In: International Workshop on Service-Oriented Computing: Consequences for Engineering Requirements (SOCCER 2008), pp. 24–29 (2008)
Whittle, J., Sawyer, P., Bencomo, N., Cheng, B.H.C, Bruel, J.M.: Relax: incorporating uncertainty into the specification of self-adaptive systems. In: 17th IEEE International Requirements Engineering Conference (RE 2009), pp. 79–88 (2009)
Yu, E.S.: Towards modelling and reasoning support for early-phase requirements engineering. In: Proceedings of the Third IEEE International Symposium on Requirements Engineering, pp. 226–235 (1997)
Zenun, M.M., Loureiro, G.: A framework for dependability and completeness in requirements engineering. In: Latin American Symposium on Dependable Computing, pp. 1–4 (2013)
Zhang, Y., Finkelstein, A., Harman, M.: Search based requirements optimisation: existing work and challenges. In: International Working Conference on Requirements Engineering: Foundation for Software Quality, pp. 88–94 (2008)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this paper
Cite this paper
DeVries, B., Cheng, B.H.C. (2017). Automatic Detection of Incomplete Requirements Using Symbolic Analysis and Evolutionary Computation. In: Menzies, T., Petke, J. (eds) Search Based Software Engineering. SSBSE 2017. Lecture Notes in Computer Science(), vol 10452. Springer, Cham. https://doi.org/10.1007/978-3-319-66299-2_4
Download citation
DOI: https://doi.org/10.1007/978-3-319-66299-2_4
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-66298-5
Online ISBN: 978-3-319-66299-2
eBook Packages: Computer ScienceComputer Science (R0)