ABSTRACT
We propose a novel framework for adapting and evolving software requirements models. The framework uses model checking and machine learning techniques for verifying properties and evolving model descriptions. The paper offers two novel contributions and a preliminary evaluation and application of the ideas presented. First, the framework is capable of coping with errors in the specification process so that performance degrades gracefully. Second, the framework can also be used to re-engineer a model from examples only, when an initial model is not available. We provide a preliminary evaluation of our framework by applying it to a Pump System case study, and integrate our prototype tool with the NuSMV model checker. We show how the tool integrates verification and evolution of abstract models, and also how it is capable of re-engineering partial models given examples from an existing system.
- D. Alrajeh, J. Kramer, A. Russo, and S. Uchitel. Learning operational requirements from goal models. In ICSE '09, 2009. Google ScholarDigital Library
- I. Beer, S. Ben-David, H. Chockler, A. Orni, and R. J. Trefler. Explaining counterexamples using causality. In CAV, 2009. Google ScholarDigital Library
- S. Chaki, A. Groce, and O. Strichman. Explaining abstract counterexamples. In SIGSOFT FSE, pages 73--82, 2004. Google ScholarDigital Library
- A. Cimatti, M. Pistore, M. Roveri, and R. Sebastiani. Improving the Encoding of LTL Model Checking into SAT. In VMCAI'02, 2002. Google ScholarDigital Library
- E. Clarke, E. Emerson, and J. Sifakis. Model checking: algorithmic verification and debugging. Comm. ACM, 52(11):74--84, 2009. Google ScholarDigital Library
- A. S. d'Avila Garcez, L. C. Lamb, and D. M. Gabbay. Neural-Symbolic Cognitive Reasoning. Springer, 2009. Google ScholarDigital Library
- A. S. d'Avila Garcez, A. Russo, B. Nuseibeh, and J. Kramer. An analysis-revision cycle to evolve requirements specifications. In ASE, pages 354--358, 2001. Google ScholarDigital Library
- S. Dobson, R. Sterritt, P. Nixon, and M. Hinchey. Fulfilling the vision of autonomic computing. IEEE Computer, 43(1):35--41, 2010. Google ScholarDigital Library
- L. C. Lamb, R. V. Borges, and A. S. d'Avila Garcez. A connectionist cognitive model for temporal synchronization and learning. In Proc. of 22nd AAAI Conf. on Artificial Intelligence, pages 827--832, 2007. Google ScholarDigital Library
- B. Nuseibeh, S. Easterbrook, and A. Russo. Leveraging inconsistency in software development. IEEE Computer, 33(4):24--29, 2000. Google ScholarDigital Library
- D. Peled, M. Y. Vardi, and M. Yannakakis. Black box checking. J. of Automata Languages and Combinatorics, 7(2):225--246, 2001. Google ScholarDigital Library
- D. Rumelhart, G. Hinton, and R. Williams. Learning representations by back-propagating errors. Nature, 323, 1986.Google Scholar
- L. G. Valiant. Knowledge infusion: In pursuit of robustness in artificial intelligence. In FSTTCS, pages 415--422, 2008.Google Scholar
- D. Zhang and J. P. Tsai. Machine Learning Applications In Software Engineering. World Scientific, 2005. Google ScholarDigital Library
Index Terms
- Learning to adapt requirements specifications of evolving systems (NIER track)
Recommendations
Model Checking Complete Requirements Specifications Using Abstraction
Although model checking has proven remarkably effective in detecting errors in hardware designs, its success in the analysis of software specifications has been limited. Model checking algorithms for hardware verification commonly use Binary Decision ...
Requirements and architectural approaches to adaptive software systems: A comparative study
SEAMS '13: Proceedings of the 2013 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS)The growing interest in adaptive software systems has resulted in a number of different proposals for the design of adaptive systems. Some approaches adopt architectural models, whereas others model adaptation options, at the level of requirements. This ...
Security Requirements Engineering for Evolving Software Systems: A Survey
Long-lived software systems often undergo evolution over an extended period. Evolution of these systems is inevitable as they need to continue to satisfy changing business needs, new regulations and standards, and introduction of novel technologies. ...
Comments