Abstract
Software maintenance accounts for a significant proportion of the cost of the software life cycle. Software engineers must spend a considerable amount of time understanding the software system functional attributes and non-functional (e.g., availability, security, etc.) aspects prior to performing a maintenance task. In this paper, we propose a dynamic analysis approach to recover availability requirements from system execution traces. Availability requirements are described and visualized using the Use Case Maps (UCM) language of the ITU-T User Requirements Notation (URN) standard, extended with availability annotations. Our UCM-based approach allows for capturing availability requirements at higher levels of abstraction from low-level execution traces. The resulting availability UCM models can then be analyzed to reveal system availability shortcomings. In order to illustrate and demonstrate the feasibility of the proposed approach, we apply it to a case study of a network implementing the HSRP (Hot Standby Router Protocol) redundancy protocol.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Avizienis, A., Laprie, J.C., Randell, B., Landwehr, C.: Basic concepts and taxonomy of dependable and secure computing. IEEE Trans. Dependable Secur. Comput. 1(1), 11–33 (2004)
Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice. Addison-Wesley Longman Publishing Co., Inc., Boston (2003)
Cisco Systems: Internetworking Technologies Handbook. Cisco Press networking technology series. Cisco Press (2004), http://bit.ly/1rr8b89
Cisco Systems: Hot Standby Router Protocol Features and Functionality (2006), http://www.cisco.com/c/en/us/support/docs/ip/hot-standby-router-protocol-hsrp/9234-hsrpguidetoc.pdf
Corbi, T.A.: Program understanding: Challenge for the 1990s. IBM Systems Journal 28(2), 294–306 (1989)
Cornelissen, B., Zaidman, A., van Deursen, A., Moonen, L., Koschke, R.: A systematic survey of program comprehension through dynamic analysis. IEEE Transactions on Software Engineering 35(5), 684–702 (2009)
GNS3: Graphical network simulator, gns3 v0.8.6 (2014), http://www.gns3.net/
Hassine, J.: Early availability requirements modeling using use case maps. In: ITNG, pp. 754–759. IEEE Computer Society (2011)
Hassine, J.: Describing and assessing availability requirements in the early stages of system development. Software & Systems Modeling, 1–25 (2013), http://dx.doi.org/10.1007/s10270-013-0382-0
Hassine, J., Gherbi, A.: Exploring early availability requirements using use case maps. In: Ober, I., Ober, I. (eds.) SDL 2011. LNCS, vol. 7083, pp. 54–68. Springer, Heidelberg (2011)
Hassine, J., Hamou-Lhadj, A.: Towards the generation of AMF configurations from use case maps based availability requirements. In: Khendek, F., Toeroe, M., Gherbi, A., Reed, R. (eds.) SDL 2013. LNCS, vol. 7916, pp. 36–53. Springer, Heidelberg (2013)
Hassine, J., Mussbacher, G., Braun, E., Alhaj, M.: Modeling early availability requirements using aspect-oriented use case maps. In: Khendek, F., Toeroe, M., Gherbi, A., Reed, R. (eds.) SDL 2013. LNCS, vol. 7916, pp. 54–71. Springer, Heidelberg (2013)
Hassine, J., Rilling, J., Dssouli, R.: Timed use case maps. In: Gotzhein, R., Reed, R. (eds.) SAM 2006. LNCS, vol. 4320, pp. 99–114. Springer, Heidelberg (2006)
ITU-T: Recommendation Z.151 (10/12), User Requirements Notation (URN) language definition, Geneva, Switzerland (2012), http://www.itu.int/rec/T-REC-Z.151/en
Jalote, P.: Fault Tolerance in Distributed Systems. Prentice-Hall, Inc., Upper Saddle River (1994)
Koskimies, K., Mössenböck, H.: Scene: Using scenario diagrams and active text for illustrating object-oriented programs. In: Proceedings of the 18th International Conference on Software Engineering, ICSE 1996, pp. 366–375. IEEE Computer Society, Washington, DC (1996)
Li, T., Cole, B., Morton, P., Li, D.: Cisco Hot Standby Router Protocol (HSRP). RFC 2281 (Informational) (March 1998), http://www.ietf.org/rfc/rfc2281.txt
Nadas, S.: Virtual router redundancy protocol (vrrp) version 3 for ipv4 and ipv6. RFC 5798 (Proposed Standard) (March 2010), http://www.ietf.org/rfc/rfc5798.txt
Reiss, S.P.: Visualizing program execution using user abstractions. In: Proceedings of the 2006 ACM Symposium on Software Visualization, SoftVis 2006, pp. 125–134. ACM, New York (2006), http://doi.acm.org/10.1145/1148493.1148512
jUCMNav v5.5.0: jUCMNav Project, v5.5.0 (tool, documentation, and meta-model) (2014), http://jucmnav.softwareengineering.ca/jucmnav (last accessed, June 2014)
Walker, R.J., Murphy, G.C., Freeman-Benson, B., Wright, D., Swanson, D., Isaak, J.: Visualizing dynamic software system information through high-level models. In: Proc. 13th ACM SIGPLAN Conference on Object-oriented Programming, Systems, Languages, and Applications, OOPSLA 1998, pp. 271–283. ACM, New York (1998)
Wright, H.K., Kim, M., Perry, D.E.: Validity concerns in software engineering research. In: Roman, G.C., Sullivan, K.J. (eds.) FoSER, pp. 411–414. ACM (2010)
Zaidman, A.: Scalability solutions for program comprehension through dynamic analysis. In: Proceedings of the Conference on Software Maintenance and Reengineering, CSMR 2006, pp. 327–330. IEEE Computer Society, Washington, DC (2006)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this paper
Cite this paper
Hassine, J., Hamou-Lhadj, A. (2014). Toward a UCM-Based Approach for Recovering System Availability Requirements from Execution Traces. In: Amyot, D., Fonseca i Casas, P., Mussbacher, G. (eds) System Analysis and Modeling: Models and Reusability. SAM 2014. Lecture Notes in Computer Science, vol 8769. Springer, Cham. https://doi.org/10.1007/978-3-319-11743-0_4
Download citation
DOI: https://doi.org/10.1007/978-3-319-11743-0_4
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-11742-3
Online ISBN: 978-3-319-11743-0
eBook Packages: Computer ScienceComputer Science (R0)