Skip to main content
Log in

A lightweight approach to software validation by comparing UML use cases with internal program documentation selected via call graphs

  • Published:
Software Quality Journal Aims and scope Submit manuscript

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.

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

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.

    Google Scholar 

  • Baeza-Yates, R., & Ribiero-Neto, B. 1999, Modern information retrieval. New York: Addison-Wesley.

    Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Etzkorn, L., & Davis, C. (1997). Automatically identifying reusable OO legacy code. IEEE Computer, 30, 66–71.

    Google Scholar 

  • 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.

    Article  Google Scholar 

  • Etzkorn, L., Davis, C., & Bowen, L. (2001). The language of comments in computer software: A sublanguage of english. Journal of Pragmatics, 33, 1731–1756.

    Article  Google Scholar 

  • Hayes, J., & Dekhtyar, A. (2005). A framework for comparing requirements tracing experiments. International Journal of Software Engineering and Knowledge Engineering, 15, 751–781.

    Article  Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Letha Hughes Etzkorn.

Rights and permissions

Reprints 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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11219-007-9034-3

Keywords

Navigation