February 1, 2017 Abstract and optional full paper submission begins
May 26, 2017 Exhibit & Supporter registration opens
June 15, 2017 Abstract and optional extended abstract submission ends
June 29, 2017 Acceptance notifications sent
July 24, 2017 Submit final abstracts and presenter biographies
August 28, 2017 Submit final presentations and optional full papers

Abstract Details

<< Back to Schedule

9/27/2017  |   2:00 PM - 2:45 PM   |  

Configurable Advanced Verification of Software: A Prototype Tool for Generating and Executing Test Cases from UML-based Interface Behavior Descriptions

We present the Configurable Advanced Verification of Software (CAVS), a prototype tool that automatically generates an efficient set of test cases from descriptions of required interface behavior based on Unified Modeling Language (UML) artifacts. The test cases are then executed on a software component by stimulating its interfaces, and the test results are automatically analyzed. The input to CAVS consists of enhanced UML activity diagrams, a representation that we developed. This representation captures the required behavior of a software component as observed on one or more message-based interfaces. CAVS automatically analyzes activity diagrams and uses a choice-relation framework algorithm from Chen et al. to partition the input space. Partitions are combined to produce an efficient set of abstract test cases by calculating a covering array, using a method and implementation developed by the National Institute of Standards and Technology (NIST). Boundary value analysis is then utilized to select specific values for each partition in the covering array, yielding concrete test cases. The test cases can then be executed, and expected outputs are automatically verified. A conceptual prototype of CAVS was developed and demonstrated in the context of interfaces that use Data Distribution Service (DDS) messaging. The proto-type employs a microservices architecture and integrates software components, including a computer algebra system, written in several programming languages. CAVS employs virtualization and cloud computing technologies to support distributed, parallel execution of test cases. The concept is especially applicable to automated soft-ware components and embedded systems.

This presentation has not yet been uploaded.

No handouts have been uploaded.

Alan Thomas (Primary Presenter,Author), Naval Surface Warfare Center, Dahlgren Division,;
Alan Thomas received an M.S. degree in systems engineering from George Mason University, Fairfax, VA and a B.A. in physics from the University of Virginia, Charlottesville, VA. He is currently a Senior Scientist in the Weapons Control and Integration Department, Naval Surface Warfare Center, Dahlgren, VA. He has over 30 years’ experience in many aspects of naval systems engineering, modeling and simulation, concept exploration, technology assessment, requirements engineering, system architecting, system development, testing, fielding, and operational support. Mr. Thomas has led a variety of applied research and prototype development efforts related to software-intensive systems. His interests include system/software modeling methodologies, systems engineering for software-intensive systems, technologies for integration of new and legacy software, integrated system modeling methodologies, and software and system testing.

John Kimball (Author,Co-Author), Naval Surface Warfare Center, Dahlgren Division,;
John Kimball received an M.S. degree in industrial and systems engineering from Virginia Tech, Blacksburg, VA, an M.S. in mechanical engineering from the University of Colorado, Boulder, CO, and a B.S. in mechanical engineering from the University of Maine, Orono, ME. He is currently an engineer in the Weapons Control and Integration Department, Naval Surface Warfare Center, Dahlgren, VA. He has over 30 years' experience in modeling and simulation and software development. Mr. Kimball's interests include system design, computer programming languages, cloud computing technologies, and probabilistic programming.

2017 Sponsors: IEEE and IEEE Computer Society