Towards a Framework for Generating Tests to Satisfy Complex Code Coverage in Java Pathfinder
|
|
|
- Blake Green
- 10 years ago
- Views:
Transcription
1 Towards a Framework for Generating Tests to Satisfy Complex Code Coverage in Java Pathfinder Matt Department of Computer Science and Engineering University of Minnesota [email protected] Abstract We present work on a prototype tool based on the JavaPathfinder (JPF) model checker for automatically generating tests satisfying the MC/DC code coverage criterion. Using the Eclipse IDE, developers and testers can quickly instrument Java source code with JPF annotations covering all MC/DC coverage obligations, and JPF can then be used to automatically generate tests that satisfy these obligations. The prototype extension to JPF enables various tasks useful in automatic test generation to be performed, such as test suite reduction and execution of generated tests. 1 Introduction When using a rigorous coverage criterion to generate tests, significant resources are often required to create tests that satisfy the criterion. Approaches for reducing the cost of generating test cases are thus of great value. One such approach is to automate the test case generation process by using a model checker to generate the tests. While several variations of this approach exist [?,?,?], the approach generally operates in two steps. First, the required coverage obligations are expressed as either states or sequences of states of the system for which we wish to generate tests. Second, for each state or sequence of states corresponding to a coverage obligation, the model checker is used to determine the reachability of the state or the existence of the sequence of states. If the model checker determines that no states representing a particular coverage obligation are reachable (a plausible occurrence for a complex coverage criterion), the tester has conclusive proof that said obligation is not coverable; otherwise, the model checker emits a trace that can be used as a test case. This approach is largely indifferent to the coverage criterion used essentially the same approach can be used to generate tests for any coverage criterion that can be expressed in terms of states. Developers can reuse the state space exploration functionality provided by a model checker to quickly create test generation capability for a variety of coverage criteria. In this paper, we describe the development of a prototype tool built on the Java Pathfinder (JPF) model checker that allows developers to generate and execute tests for the MC/DC coverage criterion [?]. The tool has been developed as two components: an Eclipse plugin allowing developers and testers to instrument Java source files with MC/DC coverage obligations and an extension to JPF providing the functionality needed to generate test cases from said instrumentation. While the prototype is useful in its current state, it was developed primarily to explore the use of JPF for automatic test generation for reactive systems common to the safety critical domain. Our interest in using JPF over other model checkers (as used in our previous work [?,?,?]) stems from its structure; unlike many model checkers, JPF has been developed to be understandable and extensible. For this reason, we believe that JPF may be an excellent model checker for rapidly developing and empirically testing coverage criteria, and we view this prototype as the first step towards an extensible framework for the rapid development of automatic test generation functionality in JPF. This framework would be of use not only for developers and testers who want to build automatic test generation functionality for new and currently unsupported coverage criteria, but also for software researchers exploring the effectiveness of various coverage criteria. This work has been partially supported by NASA Ames Research Center Cooperative Agreement NNA06CB21A, NASA IV&V Facility Contract NNG-05CB16C, and the L-3 Titan Group. 1
2 2 Java Pathfinder Java Pathfinder is a model checker for the Java language built on top of a custom Java Virtual Machine (JVM). Model checking is done via execution of Java bytecodes, an approach that allows different bytecode interpretations to be developed. This ability is used to support two major model checking modes in JPF: an explicit-state mode similar to SPIN [?], and a symbolic execution mode aptly named Symbolic JPF [?]. These modes differ primarily in how the state space is explored. During explicit-state execution, bytecode instructions are executed as in standard JVMs, such as the official Sun JVM. Nondeterminism can be either explicitly introduced by developers and testers as source code annotations in the program being analyzed or implicitly introduced when analyzing multi-threaded programs. JPF handles nondeterminism by branching the execution for each possible nondeterministic choice. Through this branching, the entire state space of the program being analyzed is explored. Multiple search algorithms are available and operate by influencing the order in which JPF explores branches (note that the default search is depth-first). Symbolic JPF uses an extended interpretation of bytecodes to work with symbolic values, and contains functionality to create symbolic values in addition to concrete values. Operations over symbolic values are done algebraically in a straightforward manner. (The details of symbolic execution are omitted here; the interested reader is referred to [?] for specifics.) When Symbolic JPF encounters conditional branches incorporating symbolic values, it attempts to determine if the branch condition is satisfiable for both true and false possibilities using off-the-shelf decision procedures. The execution paths of any satisfiable possibilities are then explored, thus branching the search. Note that multi-threading, source code annotations (nondeterministic and otherwise) and operations over concrete values are handled as in explicit-state execution. A substantial number of helper functions and classes have been developed for JPF. These allow developers and testers to annotate code (including the nondeterministic choice annotations mentioned previously), and allow extensions to modify and monitor the execution of JPF. One of the more powerful pieces of functionality is the ability to register Java listeners for various JPF events, such as execution of a bytecode instruction or the processing of a non-deterministic choice. This functionality allows extensions to access essentially the same information available internally to JPF. As we will see later, both the ability to annotate code and the ability to monitor JPF s execution greatly aides in the development of test generation functionality. 2.1 Existing Test Generation Functionality JPF contains some preexisting functionality useful for generating tests. When generating tests exclusively using concrete execution mode, source code annotations are generally used. Nondeterministic choice annotations, such as Verify.getBoolean() and Verify.getInt(), provide a simple way for testers to simulate receiving inputs from the user and/or environment. Generating tests is accomplished through storetraceif(condition, filename) statements. These statements, if executed when condition evaluates to true, output to filename a list of values chosen for each nondeterministic choice. In principle, this list, or trace, can be examined to determine an execution path in which condition is true at the point storetraceif produced the trace. Once the execution path is identified, constructing a test should be relatively easy. In practice, however, these traces are only marginally useful, since (1) there exists no method of running or replaying the trace and (2) the trace is output in a format that is not readily understandable. Using Symbolic JPF to generate tests can be done by assigning symbolic, rather than concrete, values to one or more variables. When Symbolic JPF is used to analyze the program, path conditions that algebraically represent the state of variables are produced. By solving these path conditions, concrete values satisfying the path conditions can be found. Thus, Symbolic JPF can be used to generate tests 2
3 by finding a path of interest (e.g., a path leading to a coverage obligation) and solving the resulting path conditions. In fact, Symbolic JPF includes functionality for finding all paths within a method (up to some maximum length) and generating a test for each path, thus yielding path coverage over the method. However, while Symbolic JPF can be very effective for generating tests, no method of assigning symbolic values within a loop exists, thus precluding test generation for reactive systems (which are constructed as essentially large infinite loops). 3 Prototype MC/DC Test Generation Tool We chose to develop the prototype to generate tests for the MC/DC coverage criterion because (1) it is a fairly complex coverage criterion and thus presents at least somewhat of a challenge to implement and (2) it is used in critical systems software such as avionics software. We do not describe the MC/DC coverage criterion in this paper; interested readers are directed to [?]. The prototype addresses some of the limitations present in JPF s existing test generation capability and introduces new functionality. The tool consists of two components: an extension to JPF that improves code annotations and adds support for a variety of common test generation tasks, and a plugin for the Eclipse IDE [?] to instrument Java source code with MC/DC test obligations. 3.1 JPF Extension We developed the extension to JPF with two goals in mind. First, improve the usability and understandability of tests generated via code annotations. Second, provide functionality allowing tasks common in automatic testing such as test suite reduction and code coverage measurement to be performed directly in JPF. Improving the code annotations was a fairly straightforward task. As we explained in Section??, the Verify class can be used to generate traces via code annotations, but the traces generated are not practical for use as tests. We therefore re-implemented the code annotations to allow more useful traces to be generated. This resulted in a Debug class containing three key improvements to the code annotations. First, we created choice annotations that produce symbolic values (i.e., we created the symbolic equivalents of Verify.getInt()) thus allowing developers and testers to explicitly assign symbolic values at any point in their source code. These annotations can be safely used within loops, thus bringing the benefits of symbolic execution to reactive systems. Second, we extended choice annotations to allow them to be tagged with a string by developers and testers. Provided the developer or tester chooses tags which are meaningful (e.g., class- Name.variableName ), traces produced are far more understandable. Furthermore, these tags offer a simple way to associate information useful to JPF with a choice annotation. Finally, we added the ability to execute traces generated by the Debug class. When starting JPF, developers or testers can specify a trace previously generated by Debug. During JPF s startup, the specified trace is parsed by Debug, which then creates a queue of values for each tag in the trace. After JPF begins running, when a choice annotation is executed, Debug checks the tag associated with the annotation and pops a value from the appropriate queue. If the appropriate queue is empty the standard choice annotation logic is used. Executing a trace thus results in JPF following the execution path implied by the trace until reaching the end of said path, after which JPF s usual operation resumes. These code annotation improvements allow useful, executable tests to be generated using JPF. Given some method to instrument code for a coverage metric (which we provide as an Eclipse plugin, described next) they provide a viable method of generating tests for Java code. However, when using automated test generation, there are several tasks beyond test generation developers may wish to perform, including the ability to measure code coverage, reduce test suite size while maintaining code coverage, and execute 3
4 entire test suites automatically (e.g., when performing regression testing). Rather than force developers and testers to develop ad-hoc methods of accomplishing these tasks, we provide functionality for these tasks in the form of JPF command line options. We implemented much of this additional support by mimicking JPF s extensive use of Java listeners; specifically, we implemented a generic DebugListener class that can be registered with the Debug class to listen for certain test generation-related events during JPF s execution. Additionally, we created a test harness to execute tests in a test suite sequentially. By combining the test harness with listeners tracking storetraceif events, we perform test suite reduction and code coverage measurement for the MC/DC test coverage criterion. Note that while this functionality has been developed for generating and reducing test suites for the MC/DC coverage criterion, it could be easily adapted to other coverage criteria; most of the functionality exists in generic, extensible classes (in fact, it is only the tagging conventions used by the MC/DC Eclipse plugin that make this functionality coverage specific). For complex coverage criteria such as MC/DC, even modestly sized systems may require thousand of coverage obligations to be generated, converted into the appropriate Debug.storeTraceIf statements, and inserted into the code at the appropriate points. Manually performing this is both tedious and error prone; thus while the functionality outlined above provides an approach for automatically generating tests, it is of limited use without a method of automatically instrumenting the source code to generate tests. 3.2 MC/DC Instrumentation Eclipse Plugin The Eclipse plugin automates the tedious work of instrumenting a Java source file with the annotations needed to generate tests satisfying the MC/DC coverage criterion. Using the plugin is simple: when a user right clicks on a Java source code file in Eclipse, the options Instrument to MC/DC Coverage and Remove MC/DC Instrumentation are presented (in addition to the many other options Eclipse offers). When instrumenting, Debug.storeTraceIf(obligation, filename, tag) statements are inserted into the source file, one for each MC/DC obligation. Each statement is inserted prior to the condition from which the obligation is generated from. Each tag contains a unique number for its corresponding obligation as well as the total number of obligations generated (used for calculating coverage). Given these obligations and the functionality described above, JPF can be used to (1) generate test cases meeting these obligations, (2) measure the MC/DC coverage achieved by an arbitrary set of test cases and (3) reduce a set of test cases while providing the same level of MC/DC coverage. We have implemented this using Eclipse s Java abstract syntax tree. When instrumenting a Java source file, the file is parsed into an abstract syntax tree and each node in the tree is visited. When a condition node is encountered, the MC/DC obligations corresponding to the condition are generated using the method described in [?] and the appropriate Debug.storeTraceIf(obligations, filename, tag) statements are inserted. Removal of the instrumentation is performed using a similar search. 4 Future Work and Conclusion We view this prototype as the first step towards a framework for rapidly implementing automatic test generation capability for arbitrary coverage criteria in JPF. The key to this proposed framework is an approach (or combination of approaches) for quickly implementing automatic test generation for most coverage criteria using JPF. Though we have not conclusively identified a suitable approach, the development of our prototype has yielded several possibilities, including an Eclipse-based JPF code annotation library and a JPF extension for generating and monitoring code obligations during JPF s execution. The development and use of a code annotation library seems well suited for structural coverage criteria. Many structural coverage criteria are designed to generate coverage obligations for specific 4
5 constructs in the source code, and thus the approach used to annotate for one coverage criterion could be adopted for many other coverage criteria. For example, by modifying what obligations are generated for each condition, the MC/DC Eclipse plugin could be adapted to generate code annotations for branch or decision coverage. The ability to generate and monitor code obligations during JPF s execution is appealing from an end user perspective, as it frees users from requiring anything other than JPF. However, note that while most structural coverage criteria are expressed in terms of source code constructs, JPF operates exclusively over bytecodes. This complicates attempts to monitor source code constructs, as a single construct (say, a branch) may correspond to multiple bytecodes. Determining if a branch evaluates to true or false thus requires understanding how the path taken through the bytecodes corresponds to the path taken through the source code. As mentioned in the introduction, we are interested in using JPF to automatically generate tests for testing safety critical systems. In particular, we are interested in working with our collaborators at NASA Ames to explore potential coverage criteria for Java code generated from Simulink using translation tools developed at Vanderbilt University [?]. To perform this exploration, we plan to use our proposed framework to quickly develop the automatic test generation capability for potential coverage criteria. Using this automatic test generation capability, we plan to then empirically evaluate said criteria using realistic systems developed at NASA. 5 Acknowledgements We would like to thank Corina Pasareanu of NASA Ames for her comments on this paper as well as her significant contributions towards the prototype. We would also like to thank NASA Ames, and Mike Lowrey in particular, for their support in developing the prototype as well as their suggestions for future work. References [1] S. Anand, C.S. Pasareanu, and W. Visser. JPF-SE: A Symbolic Execution Extension to Java PathFinder. LECTURE NOTES IN COMPUTER SCIENCE, 4424:134, [2] C. Boyapati, S. Khurshid, and D. Marinov. Korat: automated testing based on Java predicates. In Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis, pages ACM New York, NY, USA, [3] J. J. Chilenski and S. P. Miller. Applicability of Modified Condition/Decision Coverage to Software Testing. Software Engineering Journal, pages , September [4] E. Foundation. Eclipse IDE, [5] Mats P.E Heimdahl, S. Rayadurgam, Willem Visser, George Devaraj, and Jimin Gao. Auto-generating test sequences using model checkers: A case study. In 3rd International Worshop on Formal Approaches to Testing of Software (FATES 2003), [6] Gerald J Holzmann. The SPIN Model Checker: Primer and Reference Manual. Addison-Wesley, [7] S. Khurshid, C.S. Pasareanu, and W. Visser. Generalized Symbolic Execution for Model Checking and Testing. LECTURE NOTES IN COMPUTER SCIENCE, pages , [8] A. Rajan, M.W. Whalen, and M.P.E. Heimdahl. The Effect of Program and Model Structure on MC/DC Test Adequacy Coverage. In Proceedings of the 30th International Conference on Software engineering, pages ACM New York, NY, USA, [9] J. Sztipanovits and G. Karsai. Generative Programming for Embedded Systems. In International Conference on Principles and Practice of Declarative Programming, volume 6, pages Springer, [10] M.W Whalen, A. Rajan, and M.P.E. Heimdahl. Coverage metrics for requirements-based testing. In Proceedings of International Symposium on Software Testing and Analysis, July
Optimizing Generation of Object Graphs in Java PathFinder
Optimizing Generation of Object Graphs in Java PathFinder Milos Gligoric, Tihomir Gvero, Steven Lauterburg, Darko Marinov, Sarfraz Khurshid JPF Workshop 1.5.8 Bugs Six Decades Ago 1947: Harvard Mark II
Software safety - DEF-STAN 00-55
Software safety - DEF-STAN 00-55 Where safety is dependent on the safety related software (SRS) fully meeting its requirements, demonstrating safety is equivalent to demonstrating correctness with respect
Computing Concepts with Java Essentials
2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Computing Concepts with Java Essentials 3rd Edition Cay Horstmann
Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification
Introduction Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification Advanced Topics in Software Engineering 1 Concurrent Programs Characterized by
Code Coverage: Free Software and Virtualization to the Rescue
Code Coverage: Free Software and Virtualization to the Rescue Franco Gasperoni, AdaCore [email protected] What is Code Coverage and Why Is It Useful? Your team is developing or updating an embedded
UML-based Test Generation and Execution
UML-based Test Generation and Execution Jean Hartmann, Marlon Vieira, Herb Foster, Axel Ruder Siemens Corporate Research, Inc. 755 College Road East Princeton NJ 08540, USA [email protected] ABSTRACT
Introducing Formal Methods. Software Engineering and Formal Methods
Introducing Formal Methods Formal Methods for Software Specification and Analysis: An Overview 1 Software Engineering and Formal Methods Every Software engineering methodology is based on a recommended
Model Checking of Software
Model Checking of Software Patrice Godefroid Bell Laboratories, Lucent Technologies SpecNCheck Page 1 August 2001 A Brief History of Model Checking Prehistory: transformational programs and theorem proving
Execution and Property Specifications for JPF-Android
Execution and Property Specifications for JPF-Android Heila van der Merwe, Brink van der Merwe and Willem Visser Dept. of Computer Science University of Stellenbosch, South Africa {hvdmerwe, abvdm, wvisser}@cs.sun.ac.za
Trace Server: A Tool for Storing, Querying and Analyzing Execution Traces
Trace Server: A Tool for Storing, Querying and Analyzing Execution Traces Igor Andjelkovic University of Belgrade Belgrade, Serbia [email protected] Cyrille Artho RCIS/AIST, Tsukuba, Japan [email protected]
Best Practices for Verification, Validation, and Test in Model- Based Design
2008-01-1469 Best Practices for Verification, Validation, and in Model- Based Design Copyright 2008 The MathWorks, Inc. Brett Murphy, Amory Wakefield, and Jon Friedman The MathWorks, Inc. ABSTRACT Model-Based
VHDL Test Bench Tutorial
University of Pennsylvania Department of Electrical and Systems Engineering ESE171 - Digital Design Laboratory VHDL Test Bench Tutorial Purpose The goal of this tutorial is to demonstrate how to automate
Introduction of Virtualization Technology to Multi-Process Model Checking
Introduction of Virtualization Technology to Multi-Process Model Checking Watcharin Leungwattanakit [email protected] Masami Hagiya [email protected] Mitsuharu Yamamoto Chiba University
Algorithm & Flowchart & Pseudo code. Staff Incharge: S.Sasirekha
Algorithm & Flowchart & Pseudo code Staff Incharge: S.Sasirekha Computer Programming and Languages Computers work on a set of instructions called computer program, which clearly specify the ways to carry
CS Matters in Maryland CS Principles Course
CS Matters in Maryland CS Principles Course Curriculum Overview Project Goals Computer Science (CS) Matters in Maryland is an NSF supported effort to increase the availability and quality of high school
TESSY Automated dynamic module/unit and. CTE Classification Tree Editor. integration testing of embedded applications. for test case specifications
TESSY Automated dynamic module/unit and integration testing of embedded applications CTE Classification Tree Editor for test case specifications Automated module/unit testing and debugging at its best
Introduction to Automated Testing
Introduction to Automated Testing What is Software testing? Examination of a software unit, several integrated software units or an entire software package by running it. execution based on test cases
Static Program Transformations for Efficient Software Model Checking
Static Program Transformations for Efficient Software Model Checking Shobha Vasudevan Jacob Abraham The University of Texas at Austin Dependable Systems Large and complex systems Software faults are major
Moving from CS 61A Scheme to CS 61B Java
Moving from CS 61A Scheme to CS 61B Java Introduction Java is an object-oriented language. This document describes some of the differences between object-oriented programming in Scheme (which we hope you
Formal Verification by Model Checking
Formal Verification by Model Checking Natasha Sharygina Carnegie Mellon University Guest Lectures at the Analysis of Software Artifacts Class, Spring 2005 1 Outline Lecture 1: Overview of Model Checking
AUTOMATED TEST GENERATION FOR SOFTWARE COMPONENTS
TKK Reports in Information and Computer Science Espoo 2009 TKK-ICS-R26 AUTOMATED TEST GENERATION FOR SOFTWARE COMPONENTS Kari Kähkönen ABTEKNILLINEN KORKEAKOULU TEKNISKA HÖGSKOLAN HELSINKI UNIVERSITY OF
To Java SE 8, and Beyond (Plan B)
11-12-13 To Java SE 8, and Beyond (Plan B) Francisco Morero Peyrona EMEA Java Community Leader 8 9...2012 2020? Priorities for the Java Platforms Grow Developer Base Grow Adoption
CS 2112 Spring 2014. 0 Instructions. Assignment 3 Data Structures and Web Filtering. 0.1 Grading. 0.2 Partners. 0.3 Restrictions
CS 2112 Spring 2014 Assignment 3 Data Structures and Web Filtering Due: March 4, 2014 11:59 PM Implementing spam blacklists and web filters requires matching candidate domain names and URLs very rapidly
Chapter 5. Regression Testing of Web-Components
Chapter 5 Regression Testing of Web-Components With emergence of services and information over the internet and intranet, Web sites have become complex. Web components and their underlying parts are evolving
How To Trace
CS510 Software Engineering Dynamic Program Analysis Asst. Prof. Mathias Payer Department of Computer Science Purdue University TA: Scott A. Carr Slides inspired by Xiangyu Zhang http://nebelwelt.net/teaching/15-cs510-se
Thomas Jefferson High School for Science and Technology Program of Studies Foundations of Computer Science. Unit of Study / Textbook Correlation
Thomas Jefferson High School for Science and Technology Program of Studies Foundations of Computer Science updated 03/08/2012 Unit 1: JKarel 8 weeks http://www.fcps.edu/is/pos/documents/hs/compsci.htm
Software testing. Objectives
Software testing cmsc435-1 Objectives To discuss the distinctions between validation testing and defect testing To describe the principles of system and component testing To describe strategies for generating
How To Test Automatically
Automated Model-Based Testing of Embedded Real-Time Systems Jan Peleska [email protected] University of Bremen Bieleschweig Workshop 7 2006-05-05 Outline Technologie-Zentrum Informatik Objectives Basic concepts
Replication on Virtual Machines
Replication on Virtual Machines Siggi Cherem CS 717 November 23rd, 2004 Outline 1 Introduction The Java Virtual Machine 2 Napper, Alvisi, Vin - DSN 2003 Introduction JVM as state machine Addressing non-determinism
Java 6 'th. Concepts INTERNATIONAL STUDENT VERSION. edition
Java 6 'th edition Concepts INTERNATIONAL STUDENT VERSION CONTENTS PREFACE vii SPECIAL FEATURES xxviii chapter i INTRODUCTION 1 1.1 What Is Programming? 2 J.2 The Anatomy of a Computer 3 1.3 Translating
Getting Started with the Internet Communications Engine
Getting Started with the Internet Communications Engine David Vriezen April 7, 2014 Contents 1 Introduction 2 2 About Ice 2 2.1 Proxies................................. 2 3 Setting Up ICE 2 4 Slices 2
Testing Android Apps Through Symbolic Execution
Testing Android Apps Through Symbolic Execution Nariman Mirzaei *, Sam Malek *, Corina S. Păsăreanu, Naeem Esfahani *, Riyadh Mahmood * * Department of Computer Science George Mason University {nmirzaei,
Optimizing Generation of Object Graphs in Java PathFinder
Optimizing Generation of Object Graphs in Java PathFinder Milos Gligoric Tihomir Gvero University of Belgrade Belgrade, Serbia {milos.gligoric,[email protected] Steven Lauterburg Darko Marinov University
VIRTUAL LABORATORY: MULTI-STYLE CODE EDITOR
VIRTUAL LABORATORY: MULTI-STYLE CODE EDITOR Andrey V.Lyamin, State University of IT, Mechanics and Optics St. Petersburg, Russia Oleg E.Vashenkov, State University of IT, Mechanics and Optics, St.Petersburg,
Chapter 13: Program Development and Programming Languages
15 th Edition Understanding Computers Today and Tomorrow Comprehensive Chapter 13: Program Development and Programming Languages Deborah Morley Charles S. Parker Copyright 2015 Cengage Learning Learning
SOFTWARE TESTING TRAINING COURSES CONTENTS
SOFTWARE TESTING TRAINING COURSES CONTENTS 1 Unit I Description Objectves Duration Contents Software Testing Fundamentals and Best Practices This training course will give basic understanding on software
New Generation of Software Development
New Generation of Software Development Terry Hon University of British Columbia 201-2366 Main Mall Vancouver B.C. V6T 1Z4 [email protected] ABSTRACT In this paper, I present a picture of what software development
BIRT Application and BIRT Report Deployment Functional Specification
Functional Specification Version 1: October 6, 2005 Abstract This document describes how the user will deploy a BIRT Application and BIRT reports to the Application Server. Document Revisions Version Date
Different Approaches to White Box Testing Technique for Finding Errors
Different Approaches to White Box Testing Technique for Finding Errors Mohd. Ehmer Khan Department of Information Technology Al Musanna College of Technology, Sultanate of Oman [email protected] Abstract
E-mail Listeners. E-mail Formats. Free Form. Formatted
E-mail Listeners 6 E-mail Formats You use the E-mail Listeners application to receive and process Service Requests and other types of tickets through e-mail in the form of e-mail messages. Using E- mail
Desktop, Web and Mobile Testing Tutorials
Desktop, Web and Mobile Testing Tutorials * Windows and the Windows logo are trademarks of the Microsoft group of companies. 2 About the Tutorial With TestComplete, you can test applications of three major
TESTING JAVA MONITORS BY STATE SPACE EXPLORATION MONICA HERNANDEZ. Presented to the Faculty of the Graduate School of
TESTING JAVA MONITORS BY STATE SPACE EXPLORATION by MONICA HERNANDEZ Presented to the Faculty of the Graduate School of The University of Texas at Arlington in Partial Fulfillment of the Requirements for
A QUICK OVERVIEW OF THE OMNeT++ IDE
Introduction A QUICK OVERVIEW OF THE OMNeT++ IDE The OMNeT++ 4.x Integrated Development Environment is based on the Eclipse platform, and extends it with new editors, views, wizards, and additional functionality.
9/11/15. What is Programming? CSCI 209: Software Development. Discussion: What Is Good Software? Characteristics of Good Software?
What is Programming? CSCI 209: Software Development Sara Sprenkle [email protected] "If you don't think carefully, you might think that programming is just typing statements in a programming language."
Integrating TAU With Eclipse: A Performance Analysis System in an Integrated Development Environment
Integrating TAU With Eclipse: A Performance Analysis System in an Integrated Development Environment Wyatt Spear, Allen Malony, Alan Morris, Sameer Shende {wspear, malony, amorris, sameer}@cs.uoregon.edu
Using EDA Databases: Milkyway & OpenAccess
Using EDA Databases: Milkyway & OpenAccess Enabling and Using Scripting Languages with Milkyway and OpenAccess Don Amundson Khosro Khakzadi 2006 LSI Logic Corporation 1 Outline History Choice Of Scripting
Generating Automated Test Scripts for AltioLive using QF Test
Generating Automated Test Scripts for AltioLive using QF Test Author: Maryam Umar Contents 1. Introduction 2 2. Setting up QF Test 2 3. Starting an Altio application 3 4. Recording components 5 5. Performing
Abstract Model Checking of Web Applications Using Java PathFinder
1 26 (2009 ) Abstract Model Checking of Web Applications Using Java PathFinder Vinh Cuong Tran Yoshinori Tanabe Masami Hagiya Due to the interleaving of clients and servers, verifying web applications
IBM WebSphere Operational Decision Management Improve business outcomes with real-time, intelligent decision automation
Solution Brief IBM WebSphere Operational Decision Management Improve business outcomes with real-time, intelligent decision automation Highlights Simplify decision governance and visibility with a unified
Performance Workload Design
Performance Workload Design The goal of this paper is to show the basic principles involved in designing a workload for performance and scalability testing. We will understand how to achieve these principles
Formal Software Testing. Terri Grenda, CSTE IV&V Testing Solutions, LLC www.ivvts.com
Formal Software Testing Terri Grenda, CSTE IV&V Testing Solutions, LLC www.ivvts.com Scope of Testing Find defects early Remove defects prior to production Identify Risks Unbiased opinion When Should Testing
TeCReVis: A Tool for Test Coverage and Test Redundancy Visualization
TeCReVis: A Tool for Test Coverage and Test Redundancy Visualization Negar Koochakzadeh Vahid Garousi Software Quality Engineering Research Group University of Calgary, Canada Acknowledging funding and
MonitorExplorer: A State Exploration-Based Approach to Testing Java Monitors
Department of Computer Science and Engineering University of Texas at Arlington Arlington, TX 76019 MonitorExplorer: A State Exploration-Based Approach to Testing Java Monitors Y. Lei, R. Carver, D. Kung,
Model-Based Testing of Web Applications using NModel
Model-Based Testing of Web Applications using NModel Juhan Ernits 1, Rivo Roo 2, Jonathan Jacky 3, and Margus Veanes 4 1 University of Birmingham, UK [email protected] 2 Reach-U Ltd,Tartu, Estonia
Mobile App Design Project #1 Java Boot Camp: Design Model for Chutes and Ladders Board Game
Mobile App Design Project #1 Java Boot Camp: Design Model for Chutes and Ladders Board Game Directions: In mobile Applications the Control Model View model works to divide the work within an application.
Software Test Plan (STP) Template
(STP) Template Items that are intended to stay in as part of your document are in bold; explanatory comments are in italic text. Plain text is used where you might insert wording about your project. This
Revolutionized DB2 Test Data Management
Revolutionized DB2 Test Data Management TestBase's Patented Slice Feature Provides a Fresh Solution to an Old Set of DB2 Application Testing Problems The challenge in creating realistic representative
Tutorial: Load Testing with CLIF
Tutorial: Load Testing with CLIF Bruno Dillenseger, Orange Labs Learning the basic concepts and manipulation of the CLIF load testing platform. Focus on the Eclipse-based GUI. Menu Introduction about Load
Cedalion A Language Oriented Programming Language (Extended Abstract)
Cedalion A Language Oriented Programming Language (Extended Abstract) David H. Lorenz Boaz Rosenan The Open University of Israel Abstract Implementations of language oriented programming (LOP) are typically
Embedded Software Development with MPS
Embedded Software Development with MPS Markus Voelter independent/itemis The Limitations of C and Modeling Tools Embedded software is usually implemented in C. The language is relatively close to the hardware,
Automated Test Generation for AspectJ Programs
Automated Test Generation for AspectJ Programs Tao Xie 1 Jianjun Zhao 2 Darko Marinov 3 David Notkin 1 1 Department of Computer Science & Engineering, University of Washington, USA 2 Department of Computer
Testing LTL Formula Translation into Büchi Automata
Testing LTL Formula Translation into Büchi Automata Heikki Tauriainen and Keijo Heljanko Helsinki University of Technology, Laboratory for Theoretical Computer Science, P. O. Box 5400, FIN-02015 HUT, Finland
SMock A Test Platform for the Evaluation of Monitoring Tools
SMock A Test Platform for the Evaluation of Monitoring Tools User Manual Ruth Mizzi Faculty of ICT University of Malta June 20, 2013 Contents 1 Introduction 3 1.1 The Architecture and Design of SMock................
A TOOL FOR DATA STRUCTURE VISUALIZATION AND USER-DEFINED ALGORITHM ANIMATION
A TOOL FOR DATA STRUCTURE VISUALIZATION AND USER-DEFINED ALGORITHM ANIMATION Tao Chen 1, Tarek Sobh 2 Abstract -- In this paper, a software application that features the visualization of commonly used
Hypercosm. Studio. www.hypercosm.com
Hypercosm Studio www.hypercosm.com Hypercosm Studio Guide 3 Revision: November 2005 Copyright 2005 Hypercosm LLC All rights reserved. Hypercosm, OMAR, Hypercosm 3D Player, and Hypercosm Studio are trademarks
The Model Checker SPIN
The Model Checker SPIN Author: Gerard J. Holzmann Presented By: Maulik Patel Outline Introduction Structure Foundation Algorithms Memory management Example/Demo SPIN-Introduction Introduction SPIN (Simple(
Running a Program on an AVD
Running a Program on an AVD Now that you have a project that builds an application, and an AVD with a system image compatible with the application s build target and API level requirements, you can run
Writing Self-testing Java Classes with SelfTest
Writing Self-testing Java Classes with SelfTest Yoonsik Cheon TR #14-31 April 2014 Keywords: annotation; annotation processor; test case; unit test; Java; JUnit; SelfTest. 1998 CR Categories: D.2.3 [Software
River Dell Regional School District. Computer Programming with Python Curriculum
River Dell Regional School District Computer Programming with Python Curriculum 2015 Mr. Patrick Fletcher Superintendent River Dell Regional Schools Ms. Lorraine Brooks Principal River Dell High School
Chapter 13: Program Development and Programming Languages
Understanding Computers Today and Tomorrow 12 th Edition Chapter 13: Program Development and Programming Languages Learning Objectives Understand the differences between structured programming, object-oriented
IBM Operational Decision Manager Version 8 Release 5. Getting Started with Business Rules
IBM Operational Decision Manager Version 8 Release 5 Getting Started with Business Rules Note Before using this information and the product it supports, read the information in Notices on page 43. This
Certification Authorities Software Team (CAST) Position Paper CAST-13
Certification Authorities Software Team (CAST) Position Paper CAST-13 Automatic Code Generation Tools Development Assurance Completed June 2002 NOTE: This position paper has been coordinated among the
What Is Specific in Load Testing?
What Is Specific in Load Testing? Testing of multi-user applications under realistic and stress loads is really the only way to ensure appropriate performance and reliability in production. Load testing
An Eclipse Plug-In for Visualizing Java Code Dependencies on Relational Databases
An Eclipse Plug-In for Visualizing Java Code Dependencies on Relational Databases Paul L. Bergstein, Priyanka Gariba, Vaibhavi Pisolkar, and Sheetal Subbanwad Dept. of Computer and Information Science,
WIRIS quizzes web services Getting started with PHP and Java
WIRIS quizzes web services Getting started with PHP and Java Document Release: 1.3 2011 march, Maths for More www.wiris.com Summary This document provides client examples for PHP and Java. Contents WIRIS
Testing. Chapter. A Fresh Graduate s Guide to Software Development Tools and Technologies. CHAPTER AUTHORS Michael Atmadja Zhang Shuai Richard
A Fresh Graduate s Guide to Software Development Tools and Technologies Chapter 3 Testing CHAPTER AUTHORS Michael Atmadja Zhang Shuai Richard PREVIOUS CONTRIBUTORS : Ang Jin Juan Gabriel; Chen Shenglong
1 Introduction FrontBase is a high performance, scalable, SQL 92 compliant relational database server created in the for universal deployment.
FrontBase 7 for ios and Mac OS X 1 Introduction FrontBase is a high performance, scalable, SQL 92 compliant relational database server created in the for universal deployment. On Mac OS X FrontBase can
Source Code Translation
Source Code Translation Everyone who writes computer software eventually faces the requirement of converting a large code base from one programming language to another. That requirement is sometimes driven
DM810 Computer Game Programming II: AI. Lecture 11. Decision Making. Marco Chiarandini
DM810 Computer Game Programming II: AI Lecture 11 Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Resume Decision trees State Machines Behavior trees Fuzzy
Coverage Criteria for Search Based Automatic Unit Testing of Java Programs
ISSN (Online): 2409-4285 www.ijcsse.org Page: 256-263 Coverage Criteria for Search Based Automatic Unit Testing of Java Programs Ina Papadhopulli 1 and Elinda Meçe 2 1, 2 Department of Computer Engineering,
Eventia Log Parsing Editor 1.0 Administration Guide
Eventia Log Parsing Editor 1.0 Administration Guide Revised: November 28, 2007 In This Document Overview page 2 Installation and Supported Platforms page 4 Menus and Main Window page 5 Creating Parsing
Parallel Computing using MATLAB Distributed Compute Server ZORRO HPC
Parallel Computing using MATLAB Distributed Compute Server ZORRO HPC Goals of the session Overview of parallel MATLAB Why parallel MATLAB? Multiprocessing in MATLAB Parallel MATLAB using the Parallel Computing
Real-time Debugging using GDB Tracepoints and other Eclipse features
Real-time Debugging using GDB Tracepoints and other Eclipse features GCC Summit 2010 2010-010-26 [email protected] Summary Introduction Advanced debugging features Non-stop multi-threaded debugging
Software Modeling and Verification
Software Modeling and Verification Alessandro Aldini DiSBeF - Sezione STI University of Urbino Carlo Bo Italy 3-4 February 2015 Algorithmic verification Correctness problem Is the software/hardware system
Generating Test Suites with Augmented Dynamic Symbolic Execution
Generating Test Suites with Augmented Dynamic Symbolic Execution Konrad Jamrozik 1, Gordon Fraser 2, Nikolai Tillman 3, and Jonathan de Halleux 3 1 Saarland University, Saarbruecken-66123, Germany [email protected]
Glossary of Object Oriented Terms
Appendix E Glossary of Object Oriented Terms abstract class: A class primarily intended to define an instance, but can not be instantiated without additional methods. abstract data type: An abstraction
ATV Data Link Simulator: A Development based on a CCSDS Layers Framework
SpaceOps 2010 ConferenceDelivering on the DreamHosted by NASA Mars 25-30 April 2010, Huntsville, Alabama AIAA 2010-2089 ATV Data Link Simulator: A Development based on a CCSDS
DataDirect XQuery Technical Overview
DataDirect XQuery Technical Overview Table of Contents 1. Feature Overview... 2 2. Relational Database Support... 3 3. Performance and Scalability for Relational Data... 3 4. XML Input and Output... 4
<Insert Picture Here> When to Automate Your Testing (and When Not To)
When to Automate Your Testing (and When Not To) Joe Fernandes (Oracle) Alex Di Fonzo (Synchronoss Technologies) Three Myths of Automated Testing 1. Automated testing always results
For Introduction to Java Programming, 5E By Y. Daniel Liang
Supplement H: NetBeans Tutorial For Introduction to Java Programming, 5E By Y. Daniel Liang This supplement covers the following topics: Getting Started with NetBeans Creating a Project Creating, Mounting,
Scripting Guide. Version 10.0
Scripting Guide Version 10.0 The software supplied with this document is the property of RadView Software and is furnished under a licensing agreement. Neither the software nor this document may be copied
Environment Modeling for Automated Testing of Cloud Applications
Environment Modeling for Automated Testing of Cloud Applications Linghao Zhang, Tao Xie, Nikolai Tillmann, Peli de Halleux, Xiaoxing Ma, Jian Lv {lzhang25, txie}@ncsu.edu, {nikolait, jhalleux}@microsoft.com,
