Abstract
This research involves a methodology and associated proof of concept tool to partially automate software validation by comparing UML use cases with particular execution scenarios in source code. These execution scenarios are represented as the internal documentation (identifier names and comments) associated with sequences of execution in static call graphs. This methodology has the potential to reduce validation time and associated costs in many organizations, by enabling quick and easy validation of software relative to the use cases that describe the requirements. The proof of concept tool as it currently stands is intended as an aid to an IV&V software engineer, to assist in directing the software validation process. The approach is lightweight and easily implemented.
Similar content being viewed by others
References
Ahlowalla, N. (2002). Testing from use cases using path analysis technique. In Proc. Int. Conf. Software Testing Analysis and Review. http://www.sqe.com/stareast/past.asp. Accessed 9-December-2005.
Alexander, I., & Maiden, N. (2004). Stories, use cases. New York: John Wiley & Sons.
Baeza-Yates, R., & Ribiero-Neto, B. 1999, Modern information retrieval. New York: Addison-Wesley.
Bairagi, D., Kumar, S., & Agrawal, D. P. (1997). Precise call graph construction for 00 programs in the presence of virtual functions. In Proc. Int. Conf. Parallel Proc. (pp. 412–416). Bloomington, IL.
Biggerstaff, T. J., Mitbander, B. G., & Webster, D. E. (1994). Program understanding and the concept assignment problem. Communications of the ACM, 37, 72–78.
Caprile, B., & Tonella, P. (1999). Nomen Est Omen: Analyzing the language of function identifiers. In Proc. Working Conf. Reverse Engineering ((pp. 112–122)). Atlanta, Georgia, USA.
Chen, K, & Rajlich, V. (2000). Case study of feature location using dependence graph. In: Proc. Int. Workshop Program Comprehension (pp. 241–249). Limerick, Ireland.
Egyed, A. (2003). A scenario-driven approach to trace dependency analysis. IEEE Transactions on Software Engineering, 29, 1–17.
Etzkorn, L., & Davis, C. (1997). Automatically identifying reusable OO legacy code. IEEE Computer, 30, 66–71.
Etzkorn, L. (1997). A Metrics Based Approach to the Automated Identification of Reusable Object-Oriented Reusable Software Components. Doctoral Dissertation, University of Alabama in Huntsville.
Etzkorn, L, Bowen, L., & Davis, C. (1999). An approach to program understanding by natural language understanding. Natural Language Engineering, 5, 219–236.
Etzkorn, L., Davis, C., & Bowen, L. (2001). The language of comments in computer software: A sublanguage of english. Journal of Pragmatics, 33, 1731–1756.
Hayes, J., & Dekhtyar, A. (2005). A framework for comparing requirements tracing experiments. International Journal of Software Engineering and Knowledge Engineering, 15, 751–781.
Heumann, J. (2005). Generating Test Cases from Use Cases, in The Rational Edge e-zine: www.therationaledge.com/content/jun_o1/m_cases_jh.html. Accessed 9-December-2005.
Lawrie, D., Morrell, C., Field, H. & Binkley, D. (2006). What’s in a Name? A study of identifiers. In Proc. Fourteenth IEEE Int. Conf. Program Comprehension (pp. 1–10). Athens, Greece.
Lieberherr, K. J., & Holland, I. M. (1989). Assuring good style for object-oriented programs. IEEE Software, 6, 38–48.
Maletic, J. I., & Marcus, A. (2001). Supporting program comprehension using semantic and structural information. In Proc. Twenty-third IEEE/ACM Conf. Software Eng. (pp. 103–112). Toronto, Canada.
Marcus, A., & Maletic, J. I. (2001). Identification of high-level concept clones in source code. In The Proc. the 16th IEEE Int. Conf. Automated Software Eng. (pp. 107–114). San Diego, CA, USA.
Marcus, A., Maletic, J., & Sergeyev, A. (2005). Recovery of traceability links between software documentation and source code. International Journal Software Engineering and Knowledge Engineering, 15, 811–836.
Marcus, A., Sergeyev, a., Rajlich, V., & Maletic, J. (2004). An information retrieval approach to concept location in source code. In Proc. 11th IEEE Working Conf. Reverse Engineering (pp. 214–223). Delft, The Netherlands.
Murphy, G., Notkin, D., Griswold, W.G., & Lan, E. (1998). An empirical study of static call graph extractors. ACM Transactions on Software Engineering and Methodology, 7, 158–191.
Poshyvanyk, D., Gueheneuc, Y., Marcus, A., Antoniol, G., & Rajlich, V.,(2006). Combining probabilistic ranking and latent semantic indexing for feature identification. In Proc. Fourteenth IEEE Int. Conf. Program Comprehension (pp. 137–146). Athens, Greece.
Rajlich, V., & Wilde, N. (2002). The role of concepts in program comprehension. In Proc. of the IEEE Int. Workshop Program Comprehension (pp. 271–278). Paris, France.
Remillard, A. (1996). Software validation made simple. In: Proc. Ninth IEEE Symposium Computer-Based Medical Systems (pp. 36–40). Ann Arbor, MI.
Rich, C., & Wills, L. M. (1990). Recognizing a program’s design: A graph-parsing approach. IEEE Software, 7, 82–89.
Salah, M., Denton, T., Mancoridis, S., Shokoufandeh, A., & Vokolos, F. (2005). Scenariographer: a tool for reverse engineering class usage scenarios from method invocation sequences. In Proc. Twenty-first IEEE Int. Conf. Software Maint (pp. 144–164). Budapest, Hungary.
Salah, M., Mancoridis, S., Antoniol, G., & Dipenta, M. (2005). Towards employing use-cases and dynamic analysis to comprehend Mozilla. In Proc. Twenty-first IEEE International Conf. Software Maintenance (pp. 639–642). Budapest, Hungary.
Simons, A. J. H. (1999). Use cases considered harmful. In Proc. Tech. of Object-Oriented Languages and Systems (pp. 184–193). Nancy, France.
Wilde, N., & Scully, M. (1995). Software reconnaissance: Mapping program features to code. Journal of Software Maintenance: Research and Practice, 7, 49–62.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Funkhouser, O., Etzkorn, L.H. & Hughes, W.E. A lightweight approach to software validation by comparing UML use cases with internal program documentation selected via call graphs. Software Qual J 16, 131–156 (2008). https://doi.org/10.1007/s11219-007-9034-3
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11219-007-9034-3