Issues in Testing Distributed Component-Based. Systems. Sudipto Ghosh. Aditya P. Mathur y. Software Engineering Research Center

Size: px
Start display at page:

Download "Issues in Testing Distributed Component-Based. Systems. Sudipto Ghosh. Aditya P. Mathur y. Software Engineering Research Center"

Transcription

1 Issues in Testing Distributed Component-Based Systems Sudipto Ghosh Aditya P. Mathur y Software Engineering Research Center 1398 Department of Computer Sciences Purdue University West Lafayette, IN fghosh,apmg@cs.purdue.edu March 22, 1999 Abstract Issues in testing distributed component-based systems are discussed. Dierences in testing such systems and other systems are identied. Several limitations and shortcomings of the existing test methodologies are also identied and a new methodology proposed. Keywords: CORBA, DCOM, component-based distributed systems, fault-tolerance, Java RMI, test adequacy, test methodology. 1 Introduction Testing software systems is a complex problem in itself. With the increasing trend in using distributed software, the task of testing becomes even more complicated. The scalability of testing methodologies and development of testing tools need to keep up with new technologies such as CORBA, DCOM and Java RMI. The process of testing is further complicated by the use of COTS components in the systems. Testers need to test the behavior of such components in systems even if the components have been tested before. Sometimes the components that are reused may not have been designed for systems with the same specication. However, the entire system needs to be tested in order to observe if the system fails because of the use of such components. Thus, software testers need a methodology for: 1. Testing components 2. Testing systems In this work we examine the issues involved in the testing of components and systems. We explain how the distributed nature of the systems makes testing such systems dierent from others. In Section 2 and 3, we describe the issues related to component and system testing respectively. We propose a methodology for testing distributed component-based systems in Section 4. Sudipto Ghosh's work was supported in part by NSF award CCR , a grant from Bellcore, and the Purdue Research Foundation. y Aditya P. Mathur's research was supported in part by NSF award CCR and a grant from the Software Engineering Research Center. All correspondence may be addressed to apm@cs.purdue.edu. 1

2 2 Issues in Testing Components A component is a program that can either request service, provide service or do both. Several techniques are available for testing computer programs [2]. Often a testing methodology provides a measure that quanties \how much" was tested. Code coverage of some sort is a measure of \how much" code is tested. The term coverage domain denotes a set of program related entities that are being counted for measuring coverage. These entities include requirements, functions, statements, decisions, and denition-use pairs. For example, the set of all functions in a C program forms a coverage domain. A test set T is adequate with respect to a coverage domain D, if for each element e D, there exists a t T such that e is covered when program P is executed on t. Empirical evidence provided by many researchers supports the hypothesis that measuring test adequacy and improving a test set against a sequence of well-dened, increasingly strong, coverage domains leads to improved reliability of the system under test [13]. Ideally, one would wish to determine a test set such that the removal of errors detected while testing against this test set would ensure an error-free program. Exhaustive testing, in an ideal environment, would ensure that all errors are revealed. However, exhaustive testing is usually inapplicable in software development environments. Therefore it is recommended that realistic goals be set that account for the resources, the criticality of the components and the system under test and testing be performed such that one or more coverage criteria are satised. We identify the following issues in testing components: 1. Scalability of the test adequacy criteria 2. Test data generation 3. Selection of subsets of components to test 4. Sequence of testing components 2.1 Scalability of the Test Adequacy Criteria If the source code of a component is available, traditional test adequacy criteria can be used. These include control-ow coverage, data-ow coverage, and mutation coverage [2]. For example, the test cases generated by using control ow attempt to cover all the blocks or decisions in the program. A test set is considered adequate with respect to block coverage if all the blocks have been covered. Similarly, a test set is considered adequate with respect to decision coverage if all the decisions have been exercised by the tests. Data-ow coverage looks at the denition-use pairs in the program. The c-use coverage looks at all the denition and subsequent computational use pairs. The p-use coverage looks at all the denitions and subsequent predicate-use pairs of a variable [9]. Data-ow based test adequacy criteria have been extended for use on classes in object-oriented programs [6]. Testing is dened at three levels: 1) Intra-method; 2) Inter-method and 3) Intra-class. Various issues arise during the testing of object-oriented programs. Merely exercising methods is not enough. The order in which these methods are called is also important. Inheritance allows one to create subclasses that share many attributes of the parent class. One could design a testing methodology that tests each class separately. However, that would require re-testing many of the attributes in the subclass that were already tested in the parent class. In [7], an incremental testing technique of object-oriented class structures is proposed. However, these criteria suer from a lack of scalability. While they are useful in the assessment of tests of relatively small programs, such as functions in a C program, they are reported to be not cost-eective when used in the testing of large systems. The diculty arises because of the explosion in the number of possible paths that could be taken to reach the low-level element with an increase in the number of such elements. A decision or a denition-use pair is considered to be 2

3 a low-level element whereas a specic requirement or a function is considered to be a high-level element. To illustrate the path explosion, consider a software system with two functions f and g. Let n be the total number of decisions in f and g combined. Suppose that there is a global variable x used in f. The code of f is as follows: void f() { : if(x > 0) { : } : } The code for g is similar, with x being dened. Then the composition f g, as in a linear execution of f and g, would lead to O(2 n ) computation paths some of which are infeasible. However, if there are no global variables, the number of paths in a composition would increase linearly with the number of functions. The size of coverage domains usually increases exponentially with an increase in the size of components. A few years back, formal test adequacy measures were dicult to use because of the lack of suitable testing tools. Though this may not be a problem any more, the amount of testing required in order to achieve test adequacy is far higher that what is normally permitted by the resources available to most software companies. 2.2 Test Data Generation Test data generation in order to make the test sets adequate with respect to a coverage criterion is a dicult task. Experimental and anecdotal evidence reveals that it is dicult to obtain high coverage for large systems. This is because in a large software system it is often dicult to design test cases that can cover a low-level element. Because the number of possible paths increases exponentially, it is dicult to generate test input that executes all the paths and exercise all the elements of a low-level coverage domain. 2.3 Selection of Subsets of Components to Test A component may need the services of other components. When one tests a component, the question is how to provide these services to the component. One could use stubs that give the results expected by the component from others. However, this will not create the kind of conditions that exist in an actual system environment. There could be a possibility of deadlocks and race conditions only when a component is used with others. Even though correct behavior is exhibited when the component executed alone, it may not be correct when other components are used. The same problem arises when a component is multithreaded. The number of clients used to test the component may create a dierence. There may be no errors revealed when only one client is used because only one thread in the component executes. However, when many clients are used, several component threads may be started and race conditions may be revealed in the code. 2.4 Sequence of Testing Components From the previous sub-section we saw that components may have to be tested along with other components. This brings up the problem of what order should be followed in testing components. One would begin with components that do not require the services of any other component. Subsequent components would be selected such that they use services of components that have already 3

4 been tested. However, this assumes that the application architecture is layered, with the bottommost layer containing components not requiring the services of other components. Each layer l i uses the services of layer l i?1. However, if the interactions within components do not t into the layered architecture, then there could be cycles among components. It is not immediately clear which component one should start with rst. All components may have to be tested together. 3 Issues in Testing Systems We identify the following issues in testing systems: 1. Scalability of test adequacy criteria 2. Redundant testing during integration of components 3. Availability of source code 4. Heterogeneity of language, platforms and architectures 5. Monitoring and control mechanism in distributed software testing 6. Reproducibility of events 7. Deadlocks and race conditions 8. Testing for system scalability and performance 9. Testing for fault tolerance 3.1 Scalability of Test Adequacy Criteria for Testing Systems The problem of scalability of the traditional test adequacy criteria also arises in the context of testing systems. The criteria need to be scalable with the number of components. 3.2 Redundant Testing during Integration of Components Often, components are tested separately and then together in some incremental manner. When the components are tested separately, some test adequacy criteria are used for assessing the quality of test sets. However, when the entire system is tested, the same criteria are used along with coverage domains from other components. This leads to a lot of re-testing of the components. There is a need for studies that helps testers quantify how much of the testing is redundant. If the components are tested well separately, how much extra testing is needed during integration. This issue will be addressed again when we describe the issues that deal with the distributed nature of the systems. 3.3 Availability of Source Code Software components may be built in-house or used o-the-shelf. The developer of a component has access to its source code. The user of an o-the-shelf component usually does not have access to its source code. Depending on the availability of code, dierent testing techniques need to be used for system testing. 4

5 Q Rpq P Rrp Rqr R R1 R2 C1 C2 Figure 1: Deadlock in a component-based distributed System. 3.4 Heterogeneity of Language, Platforms and Architectures The components of a system may by written in dierent programming languages and for use on dierent hardware and software platforms. With middleware conforming to standards like CORBA and DCOM, components can interact with each other independent of the language and the platforms. When a system composed of such components is tested, the testing methodology and tool used must be independent of the language and the platforms. 3.5 Monitoring and Control Mechanism in Distributed Software Testing Distributed software systems bring with them multiple computers on a network. The test monitoring and control mechanism is more complex than that used to control a centralized software system. Mechanisms for centralized or distributed monitoring and control need to be devised. Distributed data collection and storage mechanisms need to be designed taking care of possible data buer overows. Usually the amount of data collected for monitoring and control is large because of the number of components and their long life-times. Care must be taken to ensure that the monitor and controller do not become bottlenecks during the monitoring and control process. 3.6 Reproducibility of Events Concurrent processing and asynchronous communication occur frequently in distributed systems. These together with a lack of full control over the environment leads to the inability to reproduce execution behavior. This is one reason why only testing of components is not enough to predict the reliability of the system. 3.7 Deadlocks and Race Conditions Distributed or concurrent systems occasionally have problems related to race conditions and deadlocks. It is desirable to detect such problems while testing. Consider a case, shown in Figure 1, where there are three components P, Q and R. All of them are single threaded. When a client C 1 makes a request R 1 to P, a request R pq is sent from P to Q. This leads to a request R qr from Q to R. On the other hand, client C 2 makes a request R 2 to R which happens before R qr arrives at R. To serve this request R sends a request to P. However, P waits for Q to reply. Q waits for R and R waits for P. Thus all the components are deadlocked. 5

6 Request m Client Server Callback c Figure 2: Deadlock when using a call-back mechanism. CORBA provides the facility of making one-way calls which are delivered with best-eort semantics. In case the client makes several such calls, the order in which such calls arrive could result in erroneous behavior in case there are race conditions. CORBA also provides call-back mechanisms by which a server can call a client back. This could potentially lead to deadlocks. In Figure 2, the client make a request r to the server and waits. The server makes a call-back c to the client and waits for a response. Thus both are involved in a deadlock. 3.8 Testing for System Scalability and Performance To improve performance, components may be implemented using threads. The same single-threaded system that has been tested perfectly may not work when re-implemented using multiple threads. Concurrency issues, race conditions and deadlocks could occur. Various threading models are used in server implementations and object adaptors in CORBA, each having dierent consequences. Testing for the thread-safe property is a major concern. Stress testing has to be done to ensure that the system performs well under high load factors. The same server components may perform well under small loads, but may cause poor performance or even crash under a heavy load of requests. 3.9 Testing for Fault-Tolerance Software systems are often required to be fault-tolerant. They need to tolerate failures that occur due to faults in its components or in the environment in which the components execute. Applications for nuclear plants, space missions, medical equipment and defense establishments require fault-tolerant software because of the high cost of life and resources attached to them. Any failure in the system would lead to catastrophic results. Stringent rules apply to telephone communication and air-trac control for being available most of the time. These systems have to be fault-tolerant with the availability of backup components or alternative routing mechanisms. In the context of component-based distributed systems like CORBA, there are several faults that could occur. When a client makes a one-way call, there is no guarantee that the request arrives at the server. A client that makes a request to a server may be blocked forever (or may time-out) if the server goes into an innite loop or crashes. It is reasonable to assume that the requirements for fault-tolerance are known at the time of testing. To test for fault tolerance, it is necessary to test the entire system to observe the eects of failures occurring in individual components or in the underlying communication mechanism. Testing for fault-tolerance is a challenge because in most systems, the fault-recovery code rarely gets executed in the test-bed as faults rarely get triggered. As the ability of a system to perform well in the eld in the presence of faults depends on the correctness of the fault-handling code, it is imperative that this code be tested. Fault injection testing [5, 8] is used to test for fault-tolerance by injecting faults into a system under test and observing its behavior. 6

7 The site where a fault is injected is called a fault-site. Code is inserted into the site so that a fault is triggered if control reaches the fault-site. However, testers have faced two kinds of problems with this methodology: 1. Reachability: Injection of faults into a program is not enough to cause a failure. The fault-site must be reached during some execution. 2. Latency: Although a fault has been triggered, the tester might see the manifestation of the fault after control has passed through several modules or components. It may take days before a fault manifests itself. A set of faults is required for the purpose of injection. Having a generic set of faults [1, 3, 4, 10, 11, 12] for a class of system helps in automating the process of fault injection. The faults can be provided in a fault-injection tool and can be selected by the tester for injection. Fault injection has mostly been performed only on selected systems because of a lack of tools that can perform fault-injection testing. MESSALINE, FERRARI, FIAT, SFI, FINE, Tamer, ORCHESTRA and Pisces Safety Net are examples of fault injection tools. 4 Proposed Testing Methodology To address the above issues, we propose a methodology called TDS. Our goal is to reduce testing to what is necessary. We propose test adequacy criteria that are interface-based and are at a higher level than the traditional test adequacy criteria. The leads to a reduction in the size of coverage domains. The basis for our methodology is the need for having a precise denition of an interface of a component. This is possible by using existing technologies like COM, CORBA and Java RMI. In COM and CORBA, an interface description language (IDL) is used to describe the interface of components. In Java RMI, components have Java interfaces. We focus on testing a component through its interface. 4.1 Test Adequacy Criteria An interface in CORBA-IDL contains the declarations of method and exception signatures. We dene the following criteria based on methods and exception coverage: 1. Method coverage: 2. Exception coverage: # methods executed in the component # methods dened in the component's interface # exceptions thrown by the component # exceptions dened in the component's interface However, coverage of methods and exceptions is not enough. The code implemented in the servers will access and modify the parameters passed to the methods and the exceptions. The code will have several paths that depend on the values and types of these parameters. Merely covering a method or an exception by executing it once does not imply that all the paths will be covered. Hence, there is a need to execute the methods by using dierent values of the parameters. Mutation techniques allow us to do that. We dene a set of mutant operators as follows: 1. Replacing an inout parameter with an out parameter and vice versa. 2. Swapping parameters of the same type. 3. Increment/decrement operators for simple types. 4. Set parameter to boundary values. 7

8 5. Nullify object references. 6. For complex types, use the mutant operators on the simple types that are contained. Mutants are created when these programs are applied to the original version of the component. Tests are run in order to distinguish non-equivalent mutants from the original program. A test set is adequate with respect to mutation coverage if the tests kill all the non-equivalent mutants. 4.2 Proposed Methodology We propose that testers create test sets that are adequate to our proposed test adequacy criteria. If errors are revealed, the testers modify the code and remove the errors. 4.3 Assessment of the Methodology Work is in progress for conducting experiments using CORBA systems. Systems range from classroom-type applications to a large-scale help-desk system consisting of several components, being developed in a company. Experiments are needed to compare the proposed test adequacy criteria with the traditional test adequacy criteria. The basis for comparison will be the eectiveness of the criteria in revealing known seeded errors in the components. The eort in generating test cases will also be measured in the number of test cases required for meeting the adequacy criteria. Experiments will also be carried out for evaluating our strategy for testing systems containing such components. 5 Summary We have described the issues in testing component-based distributed systems related to the heterogeneity of platforms, dierences in languages, concurrency, scalability and underlying communication protocols. We have proposed an interface-based testing methodology for testing components and systems. This methodology is currently a part of TDS 1.0, a tool to test CORBA-compliant systems. References [1] J. Barton, E. Czeck, Z. Segall, and D. Siewiorek. \Fault Injection Experiments using FIAT". IEEE Transactions on Computers, 39(4):576{582, April [2] Boris Beizer. \Software Testing Techniques". Van Nostrand Reinhold Company, Inc., New York, [3] R. Chillarege, I. S. Bhandari, J. K. Charr, M. J. Halliday, D. S. Moebus, B. K. Ray, and M. Y. Wong. \Orthogonal Defect Classication a Concept for in-process Measurements". IEEE Transactions on Software Engineering, SE(18):356{363, [4] R. Chillarege and N. Bowen. \Understanding Large System Failures a Fault Injection Experiment". In Proceedings 19th International Symposium Fault-Tolerant Computing, pages 356{363, [5] Clark and Y. K. Pradhan. \Fault Injection". IEEE Computer, 19(11):1087{1094, June

9 [6] M. J. Harrold and G. Rothermel. \Performing Data Flow Testing on Classes". In ACM SIGSOFT Software Engineering Notes Vol. 19, No. 5 in: SIGSOFT '94. Proceedings of the second ACM SIGSOFT symposium on Foundations of Software Engineering, pages 154{163, December [7] M.J. Harrold, J.D. McGregor, and K.J. Fitzpatrich. Incremental Testing of Object-oriented Class Structures. In Proceedings of the 14th International Conference on Software Engineering, pages 68{80, May [8] M. C. Hsueh, T. K. Tsai, and R. K. Iyer. \Fault Injection Techniques and Tools". IEEE Computer, pages 75{82, April [9] P. Jalote. An Integrated Approach to Software Engineering, Second Edition. Springer Verlag, New York, USA, [10] T. Nakajo and H. Kume. \A Case History Analysis of Software Error Cause-eect Relationships". IEEE Transactions on Software Engineering, SE(17):830{838, December [11] T. Nakajo, K. Sasabuchi, and T. Akiyama. \Structure Approach to Software Defect Analysis". Hewlett Packard Journal, 43(23):50{56, [12] D. Siewiorek, J. Hudakund B. Suh, and Z. Segall. \Development of a Benchmark to Measure System Robustness". In Proceedings 23rd International Symposium Fault-Tolerant Computing, pages 88{97, [13] W. E. Wong. \On Mutation and Data Flow, a Thesis". Technical Report SERC-TR-149- P, Software Engineering Research Center, Purdue University, West Lafayette, IN, December

On Errors and Failures in Distributed Systems Built to CORBA and COM Standards

On Errors and Failures in Distributed Systems Built to CORBA and COM Standards On Errors and Failures in Distributed Systems Built to CORBA and COM Standards Sudipto Ghosh Aditya P. Mathur y Software Engineering Research Center 1398 Department of Computer Sciences Purdue University

More information

Part I: Preliminaries 24

Part I: Preliminaries 24 Contents Preface......................................... 15 Acknowledgements................................... 22 Part I: Preliminaries 24 1. Basics of Software Testing 25 1.1. Humans, errors, and testing.............................

More information

A Boolean Expression. Reachability Analysis or Bisimulation. Equation Solver. Boolean. equations.

A Boolean Expression. Reachability Analysis or Bisimulation. Equation Solver. Boolean. equations. A Framework for Embedded Real-time System Design? Jin-Young Choi 1, Hee-Hwan Kwak 2, and Insup Lee 2 1 Department of Computer Science and Engineering, Korea Univerity choi@formal.korea.ac.kr 2 Department

More information

A taxonomy of race. D. P. Helmbold, C. E. McDowell. September 28, University of California, Santa Cruz. Santa Cruz, CA

A taxonomy of race. D. P. Helmbold, C. E. McDowell. September 28, University of California, Santa Cruz. Santa Cruz, CA A taxonomy of race conditions. D. P. Helmbold, C. E. McDowell UCSC-CRL-94-34 September 28, 1994 Board of Studies in Computer and Information Sciences University of California, Santa Cruz Santa Cruz, CA

More information

Outline. Computer Science 331. Information Hiding. What This Lecture is About. Data Structures, Abstract Data Types, and Their Implementations

Outline. Computer Science 331. Information Hiding. What This Lecture is About. Data Structures, Abstract Data Types, and Their Implementations Outline Computer Science 331 Data Structures, Abstract Data Types, and Their Implementations Mike Jacobson 1 Overview 2 ADTs as Interfaces Department of Computer Science University of Calgary Lecture #8

More information

loop m=5 d:m=x+y loop wait post u:z=3*m 7 20 end end

loop m=5 d:m=x+y loop wait post u:z=3*m 7 20 end end All-uses Testing of Shared Memory Parallel Programs Cheer-Sun D. Yang Lori L. Pollock Computer Science Department Computer and Information Sciences West Chester University of PA University of Delaware

More information

Measuring the Effectiveness of Method Test Sequences Derived from Sequencing Constraints

Measuring the Effectiveness of Method Test Sequences Derived from Sequencing Constraints Measuring the Effectiveness of Method Test Sequences Derived from Sequencing Constraints F.J. Daniels Bell Laboratories fdaniels@lucent.com K.C. Tai North Carolina State University kct@csc.ncsu.edu Abstract

More information

What is Mutation Testing? Mutation Testing. Test Case Adequacy. Mutation Testing. Mutant Programs. Example Mutation

What is Mutation Testing? Mutation Testing. Test Case Adequacy. Mutation Testing. Mutant Programs. Example Mutation What is Mutation Testing? Mutation Testing Breaking the application to test it n Mutation Testing is a testing technique that focuses on measuring the adequacy of test cases n Mutation Testing is NOT a

More information

International Journal of Advanced Research in Computer Science and Software Engineering

International Journal of Advanced Research in Computer Science and Software Engineering Volume 3, Issue 4, April 2013 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Testing Techniques

More information

We dene the fault revealing ability of a test case to be a measure of the likelihood that the test case will produce a failure if a fault were to exis

We dene the fault revealing ability of a test case to be a measure of the likelihood that the test case will produce a failure if a fault were to exis The Revealing Power of a Test Case Jerey M. Voas y Keith W. Miller z Abstract \Propagation, infection, and execution analysis" (termed PIE) is used for predicting where faults can more easily hide in software.

More information

Efficient Regression Test Model for Object Oriented Software

Efficient Regression Test Model for Object Oriented Software Efficient Regression Test Model for Object Oriented Software Swarna Lata Pati College of Engg. & Tech, Bhubaneswar Abstract : This paper presents an efficient regression testing model with an integration

More information

TEST CASE EFFECTIVENESS OF HIGHER ORDER MUTATION TESTING

TEST CASE EFFECTIVENESS OF HIGHER ORDER MUTATION TESTING TEST CASE EFFECTIVENESS OF HIGHER ORDER MUTATION TESTING Shalini Kapoor CSE Deptt, GNI, Mullana get_shalini@rediffmail.com Abstract--- Effectiveness means how good a test case is in finding faults. Traditional

More information

Adaptive Methods for Distributed Video Presentation. Oregon Graduate Institute of Science and Technology. fcrispin, scen, walpole,

Adaptive Methods for Distributed Video Presentation. Oregon Graduate Institute of Science and Technology. fcrispin, scen, walpole, Adaptive Methods for Distributed Video Presentation Crispin Cowan, Shanwei Cen, Jonathan Walpole, and Calton Pu Department of Computer Science and Engineering Oregon Graduate Institute of Science and Technology

More information

Kevin Skadron. 18 April Abstract. higher rate of failure requires eective fault-tolerance. Asynchronous consistent checkpointing oers a

Kevin Skadron. 18 April Abstract. higher rate of failure requires eective fault-tolerance. Asynchronous consistent checkpointing oers a Asynchronous Checkpointing for PVM Requires Message-Logging Kevin Skadron 18 April 1994 Abstract Distributed computing using networked workstations oers cost-ecient parallel computing, but the higher rate

More information

Dataflow-based Coverage Criteria

Dataflow-based Coverage Criteria Dataflow-based Coverage Criteria W. Eric Wong Department of Computer Science The University of Texas at Dallas ewong@utdallas.edu http://www.utdallas.edu/~ewong Dataflow-based Coverage Criteria ( 2012

More information

CERIAS Tech Report

CERIAS Tech Report CERIAS Tech Report 2006-24 SCALABLE AND EFFECTIVE TEST GENERATION FOR ACCESS CONTROL SYSTEMS THAT EMPLOY RBAC POLICIES by Ammar Masood, Arif Ghafoor and Aditya Mathur Center for Education and Research

More information

Software Testing CS 408

Software Testing CS 408 Software Testing CS 408 1/09/18 Course Webpage: http://www.cs.purdue.edu/homes/suresh/408-spring2018 1 The Course Understand testing in the context of an Agile software development methodology - Detail

More information

Generating Minimal Fault Detecting Test Suites for General Boolean Specications

Generating Minimal Fault Detecting Test Suites for General Boolean Specications Generating Minimal Fault Detecting Test Suites for General Boolean Specications Angelo Gargantini a,, Gordon Fraser b a Dip. di Ing. dell'informazione e Metodi Mat., University of Bergamo, Dalmine, Italy

More information

MONIKA HEINER.

MONIKA HEINER. LESSON 1 testing, intro 1 / 25 SOFTWARE TESTING - STATE OF THE ART, METHODS, AND LIMITATIONS MONIKA HEINER monika.heiner@b-tu.de http://www.informatik.tu-cottbus.de PRELIMINARIES testing, intro 2 / 25

More information

A New Mutation Analysis Method for Testing Java Exception Handling

A New Mutation Analysis Method for Testing Java Exception Handling A New Mutation Analysis Method for Testing Java Exception Handling Authors Affiliations Emails Abstract Java exception mechanism can effectively free a program from abnormal exits and help developers locate

More information

Towards a Reference Framework. Gianpaolo Cugola and Carlo Ghezzi. [cugola, P.za Leonardo da Vinci 32.

Towards a Reference Framework. Gianpaolo Cugola and Carlo Ghezzi. [cugola, P.za Leonardo da Vinci 32. Inconsistencies in Software Development: Towards a Reference Framework Gianpaolo Cugola and Carlo Ghezzi [cugola, ghezzi]@elet.polimi.it Dipartimento di Elettronica e Informazione Politecnico di Milano

More information

Reading assignment: Reviews and Inspections

Reading assignment: Reviews and Inspections Foundations for SE Analysis Reading assignment: Reviews and Inspections M. E. Fagan, "Design and code inspections to reduce error in program development, IBM Systems Journal, 38 (2&3), 1999, pp. 258-287.

More information

An Environment for Training Computer Science Students on Software Testing

An Environment for Training Computer Science Students on Software Testing An Environment for Training Computer Science Students on Software Testing Jim Collofello and Kalpana Vehathiri Department of Computer Science and Engineering, Arizona State University Tempe, Arizona 85287

More information

Testing Component-Based Software

Testing Component-Based Software Testing Component-Based Software Jerry Gao, Ph.D. San Jose State University One Washington Square San Jose, CA 95192-0180 Email:gaojerry@email.sjsu.edu 1 Abstract Today component engineering is gaining

More information

CalFuzzer: An Extensible Active Testing Framework for Concurrent Programs Pallavi Joshi 1, Mayur Naik 2, Chang-Seo Park 1, and Koushik Sen 1

CalFuzzer: An Extensible Active Testing Framework for Concurrent Programs Pallavi Joshi 1, Mayur Naik 2, Chang-Seo Park 1, and Koushik Sen 1 CalFuzzer: An Extensible Active Testing Framework for Concurrent Programs Pallavi Joshi 1, Mayur Naik 2, Chang-Seo Park 1, and Koushik Sen 1 1 University of California, Berkeley, USA {pallavi,parkcs,ksen}@eecs.berkeley.edu

More information

Page 1. Reading assignment: Reviews and Inspections. Foundations for SE Analysis. Ideally want general models. Formal models

Page 1. Reading assignment: Reviews and Inspections. Foundations for SE Analysis. Ideally want general models. Formal models Reading assignment: Reviews and Inspections Foundations for SE Analysis M. E. Fagan, "Design and code inspections to reduce error in program development, IBM Systems Journal, 38 (2&3), 999, pp. 258-28.

More information

Knowledge representation Semantic networks and frames

Knowledge representation Semantic networks and frames Knowledge representation Semantic networks and frames CmSc310 Artificial Intelligence 1. Introduction: What is knowledge? The science that studies various issues about knowledge is called epistemology.

More information

Integration Testing. Conrad Hughes School of Informatics. Slides thanks to Stuart Anderson

Integration Testing. Conrad Hughes School of Informatics. Slides thanks to Stuart Anderson Integration Testing Conrad Hughes School of Informatics Slides thanks to Stuart Anderson 19 February 2010 Software Testing: Lecture 10 1 Unit Test vs Integration Testing 1 The ideal in unit testing is

More information

Constructing Control Flow Graph for Java by Decoupling Exception Flow from Normal Flow

Constructing Control Flow Graph for Java by Decoupling Exception Flow from Normal Flow Constructing Control Flow Graph for Java by Decoupling Exception Flow from Normal Flow Jang-Wu Jo 1 and Byeong-Mo Chang 2 1 Department of Computer Engineering Pusan University of Foreign Studies Pusan

More information

1 Introduction Testing seeks to reveal software faults by executing a program and comparing the output expected to the output produced. Exhaustive tes

1 Introduction Testing seeks to reveal software faults by executing a program and comparing the output expected to the output produced. Exhaustive tes Using Dynamic Sensitivity Analysis to Assess Testability Jerey Voas, Larry Morell y, Keith Miller z Abstract: This paper discusses sensitivity analysis and its relationship to random black box testing.

More information

THE IMPLEMENTATION OF A DISTRIBUTED FILE SYSTEM SUPPORTING THE PARALLEL WORLD MODEL. Jun Sun, Yasushi Shinjo and Kozo Itano

THE IMPLEMENTATION OF A DISTRIBUTED FILE SYSTEM SUPPORTING THE PARALLEL WORLD MODEL. Jun Sun, Yasushi Shinjo and Kozo Itano THE IMPLEMENTATION OF A DISTRIBUTED FILE SYSTEM SUPPORTING THE PARALLEL WORLD MODEL Jun Sun, Yasushi Shinjo and Kozo Itano Institute of Information Sciences and Electronics University of Tsukuba Tsukuba,

More information

Distributed Scheduling for the Sombrero Single Address Space Distributed Operating System

Distributed Scheduling for the Sombrero Single Address Space Distributed Operating System Distributed Scheduling for the Sombrero Single Address Space Distributed Operating System Donald S. Miller Department of Computer Science and Engineering Arizona State University Tempe, AZ, USA Alan C.

More information

Overview. State-of-the-Art. Relative cost of error correction. CS 619 Introduction to OO Design and Development. Testing.

Overview. State-of-the-Art. Relative cost of error correction. CS 619 Introduction to OO Design and Development. Testing. Overview CS 619 Introduction to OO Design and Development ing! Preliminaries! All sorts of test techniques! Comparison of test techniques! Software reliability Fall 2012! Main issues: There are a great

More information

White Box Testing with Object Oriented programming

White Box Testing with Object Oriented programming White Box Testing with Object Oriented programming Mrs.Randive R.B 1, Mrs.Bansode S.Y 2 1,2 TPCT S College Of Engineering,Osmanabad Abstract:-Software testing is one of the best means to affirm the quality

More information

Henning Koch. Dept. of Computer Science. University of Darmstadt. Alexanderstr. 10. D Darmstadt. Germany. Keywords:

Henning Koch. Dept. of Computer Science. University of Darmstadt. Alexanderstr. 10. D Darmstadt. Germany. Keywords: Embedding Protocols for Scalable Replication Management 1 Henning Koch Dept. of Computer Science University of Darmstadt Alexanderstr. 10 D-64283 Darmstadt Germany koch@isa.informatik.th-darmstadt.de Keywords:

More information

Testing: Test design and testing process

Testing: Test design and testing process Testing: Test design and testing process Zoltán Micskei Based on István Majzik s slides Dept. of Measurement and Information Systems Budapest University of Technology and Economics Department of Measurement

More information

Integration Testing. Unit Test vs Integration Testing 1. Unit Testing vs Integration Testing 2. Unit testing: isolation, stub/mock objects

Integration Testing. Unit Test vs Integration Testing 1. Unit Testing vs Integration Testing 2. Unit testing: isolation, stub/mock objects Unit Test vs Testing 1 Testing Conrad Hughes School of Informatics Slides thanks to Stuart Anderson The ideal in unit testing is to isolate a single code unit and test it against its behavioural specification.

More information

Solve the Data Flow Problem

Solve the Data Flow Problem Gaining Condence in Distributed Systems Gleb Naumovich, Lori A. Clarke, and Leon J. Osterweil University of Massachusetts, Amherst Computer Science Department University of Massachusetts Amherst, Massachusetts

More information

Review of Regression Test Case Selection Techniques

Review of Regression Test Case Selection Techniques Review of Regression Test Case Selection Manisha Rani CSE Department, DeenBandhuChhotu Ram University of Science and Technology, Murthal, Haryana, India Ajmer Singh CSE Department, DeenBandhuChhotu Ram

More information

An Evaluation of Information Retrieval Accuracy. with Simulated OCR Output. K. Taghva z, and J. Borsack z. University of Massachusetts, Amherst

An Evaluation of Information Retrieval Accuracy. with Simulated OCR Output. K. Taghva z, and J. Borsack z. University of Massachusetts, Amherst An Evaluation of Information Retrieval Accuracy with Simulated OCR Output W.B. Croft y, S.M. Harding y, K. Taghva z, and J. Borsack z y Computer Science Department University of Massachusetts, Amherst

More information

has phone Phone Person Person degree Degree isa isa has addr has addr has phone has phone major Degree Phone Schema S1 Phone Schema S2

has phone Phone Person Person degree Degree isa isa has addr has addr has phone has phone major Degree Phone Schema S1 Phone Schema S2 Schema Equivalence in Heterogeneous Systems: Bridging Theory and Practice R. J. Miller y Y. E. Ioannidis z R. Ramakrishnan x Department of Computer Sciences University of Wisconsin-Madison frmiller, yannis,

More information

ISSN: [Keswani* et al., 7(1): January, 2018] Impact Factor: 4.116

ISSN: [Keswani* et al., 7(1): January, 2018] Impact Factor: 4.116 IJESRT INTERNATIONAL JOURNAL OF ENGINEERING SCIENCES & RESEARCH TECHNOLOGY AUTOMATIC TEST CASE GENERATION FOR PERFORMANCE ENHANCEMENT OF SOFTWARE THROUGH GENETIC ALGORITHM AND RANDOM TESTING Bright Keswani,

More information

An Integrated Regression Testing Framework to Multi-Threaded Java Programs

An Integrated Regression Testing Framework to Multi-Threaded Java Programs An Integrated Regression Testing Framework to Multi-Threaded Java Programs Bixin Li 1,2, Yancheng Wang 1, and LiLi Yang 1 1 School of Computer Science and Engineering, Southeast University No.2 Sipailou

More information

On Object Orientation as a Paradigm for General Purpose. Distributed Operating Systems

On Object Orientation as a Paradigm for General Purpose. Distributed Operating Systems On Object Orientation as a Paradigm for General Purpose Distributed Operating Systems Vinny Cahill, Sean Baker, Brendan Tangney, Chris Horn and Neville Harris Distributed Systems Group, Dept. of Computer

More information

Algebraic Properties of CSP Model Operators? Y.C. Law and J.H.M. Lee. The Chinese University of Hong Kong.

Algebraic Properties of CSP Model Operators? Y.C. Law and J.H.M. Lee. The Chinese University of Hong Kong. Algebraic Properties of CSP Model Operators? Y.C. Law and J.H.M. Lee Department of Computer Science and Engineering The Chinese University of Hong Kong Shatin, N.T., Hong Kong SAR, China fyclaw,jleeg@cse.cuhk.edu.hk

More information

Introduction to Dynamic Analysis

Introduction to Dynamic Analysis Introduction to Dynamic Analysis Reading assignment Gary T. Leavens, Yoonsik Cheon, "Design by Contract with JML," draft paper, http://www.eecs.ucf.edu/~leavens/jml//jmldbc.pdf G. Kudrjavets, N. Nagappan,

More information

MACHINE LEARNING BASED METHODOLOGY FOR TESTING OBJECT ORIENTED APPLICATIONS

MACHINE LEARNING BASED METHODOLOGY FOR TESTING OBJECT ORIENTED APPLICATIONS MACHINE LEARNING BASED METHODOLOGY FOR TESTING OBJECT ORIENTED APPLICATIONS N. Kannadhasan and B. Uma Maheswari Department of Master of Computer Applications St. Joseph s College of Engineering, Chennai,

More information

Automatic Code Generation for Non-Functional Aspects in the CORBALC Component Model

Automatic Code Generation for Non-Functional Aspects in the CORBALC Component Model Automatic Code Generation for Non-Functional Aspects in the CORBALC Component Model Diego Sevilla 1, José M. García 1, Antonio Gómez 2 1 Department of Computer Engineering 2 Department of Information and

More information

INPUT SYSTEM MODEL ANALYSIS OUTPUT

INPUT SYSTEM MODEL ANALYSIS OUTPUT Detecting Null Pointer Violations in Java Programs Xiaoping Jia, Sushant Sawant Jiangyu Zhou, Sotiris Skevoulis Division of Software Engineering School of Computer Science, Telecommunication, and Information

More information

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1 Verification vs validation Verification: "Are we building the product right?. The software should

More information

Architectural Design

Architectural Design Architectural Design Topics i. Architectural design decisions ii. Architectural views iii. Architectural patterns iv. Application architectures Chapter 6 Architectural design 2 PART 1 ARCHITECTURAL DESIGN

More information

In this paper, we present the results of a comparative empirical study of two safe RTS techniques. The two techniques we studied have been implemented

In this paper, we present the results of a comparative empirical study of two safe RTS techniques. The two techniques we studied have been implemented ACM Transactions on Software Engineering and Methodology (to appear). A Comparative Study of Coarse- and Fine-Grained Safe Regression Test Selection Techniques John Bible Department of Computer Science

More information

Test Case Specifications and Test adequacy. Research Methods - Barbara Russo SwSE - Software and Systems Engineering

Test Case Specifications and Test adequacy. Research Methods - Barbara Russo SwSE - Software and Systems Engineering Test Case Specifications and Test adequacy Research Methods - Barbara Russo SwSE - Software and Systems Engineering 1 Test Case Selection How do we create tests? Test are defined in terms of their adequacy

More information

Thesis book. Extension of strongly typed object-oriented systems using metaprograms István Zólyomi

Thesis book. Extension of strongly typed object-oriented systems using metaprograms István Zólyomi Thesis book Extension of strongly typed object-oriented systems using metaprograms István Zólyomi Supervisor: Dr. Zoltán Porkoláb Eötvös Loránd University Faculty of Informatics Department of Programming

More information

Case Study on Testing of Web-Based Application: Del s Students Information System

Case Study on Testing of Web-Based Application: Del s Students Information System Case Study on Testing of Web-Based Application: Del s Students Information System Arnaldo Marulitua Sinaga Del Institute of Technology, North Sumatera, Indonesia. aldo@del.ac.id Abstract Software Testing

More information

Chapter 1: Distributed Systems: What is a distributed system? Fall 2013

Chapter 1: Distributed Systems: What is a distributed system? Fall 2013 Chapter 1: Distributed Systems: What is a distributed system? Fall 2013 Course Goals and Content n Distributed systems and their: n Basic concepts n Main issues, problems, and solutions n Structured and

More information

LCCI (Large-scale Complex Critical Infrastructures)

LCCI (Large-scale Complex Critical Infrastructures) LCCI (Large-scale Complex Critical Infrastructures) 1 LCCIs are Internet-scale constellations of heterogeneous systems glued together into a federated and open system by a data distribution middleware.

More information

VERIFYING SOFTWARE ROBUSTNESS. Ross Collard Collard & Company

VERIFYING SOFTWARE ROBUSTNESS. Ross Collard Collard & Company VERIFYING SOFTWARE ROBUSTNESS Ross Collard Collard & Company OVERVIEW Software is robust if it can tolerate such problems as unanticipated events, invalid inputs, corrupted internally stored data, improper

More information

Verification and Validation. Assuring that a software system meets a user s needs. Verification vs Validation. The V & V Process

Verification and Validation. Assuring that a software system meets a user s needs. Verification vs Validation. The V & V Process Verification and Validation Assuring that a software system meets a user s needs Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 19,20 Slide 1

More information

A Low-Cost Correction Algorithm for Transient Data Errors

A Low-Cost Correction Algorithm for Transient Data Errors A Low-Cost Correction Algorithm for Transient Data Errors Aiguo Li, Bingrong Hong School of Computer Science and Technology Harbin Institute of Technology, Harbin 150001, China liaiguo@hit.edu.cn Introduction

More information

Software Engineering: Integration Requirements

Software Engineering: Integration Requirements Software Engineering: Integration Requirements AYAZ ISAZADEH Department of Computer Science Tabriz University Tabriz, IRAN Abstract: - This paper presents a discussion of software integration requirements,

More information

Appendix to The Health of Software Engineering Research

Appendix to The Health of Software Engineering Research Appendix to The Health of Software Engineering Research David Lo School of Information Systems Singapore Management University Singapore davidlo@smu.edu.sg Nachiappan Nagappan and Thomas Zimmermann Research

More information

2 J. Karvo et al. / Blocking of dynamic multicast connections Figure 1. Point to point (top) vs. point to multipoint, or multicast connections (bottom

2 J. Karvo et al. / Blocking of dynamic multicast connections Figure 1. Point to point (top) vs. point to multipoint, or multicast connections (bottom Telecommunication Systems 0 (1998)?? 1 Blocking of dynamic multicast connections Jouni Karvo a;, Jorma Virtamo b, Samuli Aalto b and Olli Martikainen a a Helsinki University of Technology, Laboratory of

More information

Eect of Test Set Size and Block Coverage on the. Fault Detection Eectiveness. W. Eric Wong, Joseph R. Horgan, Saul London, and Aditya P.

Eect of Test Set Size and Block Coverage on the. Fault Detection Eectiveness. W. Eric Wong, Joseph R. Horgan, Saul London, and Aditya P. Eect of Test Set Size and Block Coverage on the Fault Detection Eectiveness W Eric Wong, Joseph R Horgan, Saul London, and Aditya P Mathur April 27, 1994 Abstract Size and code coverage are two important

More information

Input Validation Testing: A Requirements-Driven, System Level, Early Lifecycle Technique. August 30, Abstract

Input Validation Testing: A Requirements-Driven, System Level, Early Lifecycle Technique. August 30, Abstract Input Validation Testing: A Requirements-Driven, System Level, Early Lifecycle Technique Jane Human Hayes Innovative Software Technologies Science Applications International Corp. jane.e.hayes@cpmx.saic.com

More information

CHAPTER 5 GENERATING TEST SCENARIOS AND TEST CASES FROM AN EVENT-FLOW MODEL

CHAPTER 5 GENERATING TEST SCENARIOS AND TEST CASES FROM AN EVENT-FLOW MODEL CHAPTER 5 GENERATING TEST SCENARIOS AND TEST CASES FROM AN EVENT-FLOW MODEL 5.1 INTRODUCTION The survey presented in Chapter 1 has shown that Model based testing approach for automatic generation of test

More information

People tell me that testing is

People tell me that testing is Software Testing Mark Micallef mark.micallef@um.edu.mt People tell me that testing is Boring Not for developers A second class activity Not necessary because they are very good coders 1 What is quality?

More information

Composability Test of BOM based models using Petri Nets

Composability Test of BOM based models using Petri Nets I. Mahmood, R. Ayani, V. Vlassov and F. Moradi 7 Composability Test of BOM based models using Petri Nets Imran Mahmood 1, Rassul Ayani 1, Vladimir Vlassov 1, and Farshad Moradi 2 1 Royal Institute of Technology

More information

Class-Component Testability Analysis

Class-Component Testability Analysis Class-Component Testability Analysis SUPAPORN KANSOMKEAT Faculty of Engineering, Chulalongkorn University Bangkok, 10330, THAILAND WANCHAI RIVEPIBOON Faculty of Engineering, Chulalongkorn University Bangkok,

More information

The language should have few implementation dependencies and should be simple, so that interactions between language features do not give unexpected b

The language should have few implementation dependencies and should be simple, so that interactions between language features do not give unexpected b Using Analytical Approaches for High Integrity Ada95 Systems Stephen Michell Maurya Software 29 Maurya Court, Ottawa, Ontario K1G 5S3 Canada Email: steve@maurya.on.ca Dan Craigen, Mark Saaltink ORA Canada

More information

Facts About Testing. Cost/benefit. Reveal faults. Bottom-up. Testing takes more than 50% of the total cost of software development

Facts About Testing. Cost/benefit. Reveal faults. Bottom-up. Testing takes more than 50% of the total cost of software development Reveal faults Goals of testing Correctness Reliability Usability Robustness Performance Top-down/Bottom-up Bottom-up Lowest level modules tested first Don t depend on any other modules Driver Auxiliary

More information

Shared Repository Pattern. Shared Repository Introduction

Shared Repository Pattern. Shared Repository Introduction Shared Repository Pattern Shared Repository Introduction Some applications are inherently data-driven. Interactions between components do not follow a specific business process, but depend on the data

More information

Using Mutation to Automatically Suggest Fixes for Faulty Programs

Using Mutation to Automatically Suggest Fixes for Faulty Programs 2010 Third International Conference on Software Testing, Verification and Validation Using Mutation to Automatically Suggest Fixes for Faulty Programs Vidroha Debroy and W. Eric Wong Department of Computer

More information

Trust4All: a Trustworthy Middleware Platform for Component Software

Trust4All: a Trustworthy Middleware Platform for Component Software Proceedings of the 7th WSEAS International Conference on Applied Informatics and Communications, Athens, Greece, August 24-26, 2007 124 Trust4All: a Trustworthy Middleware Platform for Component Software

More information

Storage System. Distributor. Network. Drive. Drive. Storage System. Controller. Controller. Disk. Disk

Storage System. Distributor. Network. Drive. Drive. Storage System. Controller. Controller. Disk. Disk HRaid: a Flexible Storage-system Simulator Toni Cortes Jesus Labarta Universitat Politecnica de Catalunya - Barcelona ftoni, jesusg@ac.upc.es - http://www.ac.upc.es/hpc Abstract Clusters of workstations

More information

Chapter 9. Software Testing

Chapter 9. Software Testing Chapter 9. Software Testing Table of Contents Objectives... 1 Introduction to software testing... 1 The testers... 2 The developers... 2 An independent testing team... 2 The customer... 2 Principles of

More information

Structural Testing & Mutation

Structural Testing & Mutation Structural Testing & Mutation Filippo Ricca DISI, Università di Genova, Italy ricca@disi.unige.it 1 White vs. Black box testing A white box testing is based upon explicit knowledge of the SUT and its structure

More information

TEMPORAL AND SPATIAL SEMANTIC MODELS FOR MULTIMEDIA PRESENTATIONS ABSTRACT

TEMPORAL AND SPATIAL SEMANTIC MODELS FOR MULTIMEDIA PRESENTATIONS ABSTRACT TEMPORAL AND SPATIAL SEMANTIC MODELS FOR MULTIMEDIA PRESENTATIONS Shu-Ching Chen and R. L. Kashyap School of Electrical and Computer Engineering Purdue University, West Lafayette, IN 47907-285, U.S.A.

More information

Today: Distributed Objects. Distributed Objects

Today: Distributed Objects. Distributed Objects Today: Distributed Objects Case study: EJBs (Enterprise Java Beans) Case study: CORBA Lecture 23, page 1 Distributed Objects Figure 10-1. Common organization of a remote object with client-side proxy.

More information

21. Distributed Algorithms

21. Distributed Algorithms 21. Distributed Algorithms We dene a distributed system as a collection of individual computing devices that can communicate with each other [2]. This denition is very broad, it includes anything, from

More information

Framework for replica selection in fault-tolerant distributed systems

Framework for replica selection in fault-tolerant distributed systems Framework for replica selection in fault-tolerant distributed systems Daniel Popescu Computer Science Department University of Southern California Los Angeles, CA 90089-0781 {dpopescu}@usc.edu Abstract.

More information

336 THE STATISTICAL SOFTWARE NEWSLETTER where z is one (randomly taken) pole of the simplex S, g the centroid of the remaining d poles of the simplex

336 THE STATISTICAL SOFTWARE NEWSLETTER where z is one (randomly taken) pole of the simplex S, g the centroid of the remaining d poles of the simplex THE STATISTICAL SOFTWARE NEWSLETTER 335 Simple Evolutionary Heuristics for Global Optimization Josef Tvrdk and Ivan Krivy University of Ostrava, Brafova 7, 701 03 Ostrava, Czech Republic Phone: +420.69.6160

More information

Document Image Restoration Using Binary Morphological Filters. Jisheng Liang, Robert M. Haralick. Seattle, Washington Ihsin T.

Document Image Restoration Using Binary Morphological Filters. Jisheng Liang, Robert M. Haralick. Seattle, Washington Ihsin T. Document Image Restoration Using Binary Morphological Filters Jisheng Liang, Robert M. Haralick University of Washington, Department of Electrical Engineering Seattle, Washington 98195 Ihsin T. Phillips

More information

Test Cases Generation from UML Activity Diagrams

Test Cases Generation from UML Activity Diagrams Eighth ACIS International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing Test Cases Generation from UML Activity Diagrams Hyungchoul Kim, Sungwon

More information

Using the Holey Brick Tree for Spatial Data. in General Purpose DBMSs. Northeastern University

Using the Holey Brick Tree for Spatial Data. in General Purpose DBMSs. Northeastern University Using the Holey Brick Tree for Spatial Data in General Purpose DBMSs Georgios Evangelidis Betty Salzberg College of Computer Science Northeastern University Boston, MA 02115-5096 1 Introduction There is

More information

Frama-C's metrics plug-in

Frama-C's metrics plug-in Metrics Frama-C's metrics plug-in 20120901 (Oxygen) Richard Bonichon & Boris Yakobowski CEA LIST, Software Reliability Laboratory, Saclay, F-91191 c 2011 CEA LIST CONTENTS Contents 1 Quick overview 7

More information

Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach

Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach Developing Software Applications Using Middleware Infrastructure: Role Based and Coordination Component Framework Approach Ninat Wanapan and Somnuk Keretho Department of Computer Engineering, Kasetsart

More information

Software Component Relationships. Stephen H. Edwards. Department of Computer Science. Virginia Polytechnic Institute and State University

Software Component Relationships. Stephen H. Edwards. Department of Computer Science. Virginia Polytechnic Institute and State University Software Component Relationships Stephen H. Edwards Department of Computer Science Virginia Polytechnic Institute and State University 660 McBryde Hall Blacksburg, VA 24061-0106 Tel: (540)-231-7537 Email:

More information

2 Data Reduction Techniques The granularity of reducible information is one of the main criteria for classifying the reduction techniques. While the t

2 Data Reduction Techniques The granularity of reducible information is one of the main criteria for classifying the reduction techniques. While the t Data Reduction - an Adaptation Technique for Mobile Environments A. Heuer, A. Lubinski Computer Science Dept., University of Rostock, Germany Keywords. Reduction. Mobile Database Systems, Data Abstract.

More information

Abstract Safety-critical systems are those whose failure can lead to injury or loss of life. Software is becoming increasingly relied upon for the saf

Abstract Safety-critical systems are those whose failure can lead to injury or loss of life. Software is becoming increasingly relied upon for the saf A Search-Based Automated Test-Data Generation Framework for Safety-Critical Software Nigel James Tracey Submitted for the degree of Doctor of Philosophy September 2000 University of York Department of

More information

Homework #2 Nathan Balon CIS 578 October 31, 2004

Homework #2 Nathan Balon CIS 578 October 31, 2004 Homework #2 Nathan Balon CIS 578 October 31, 2004 1 Answer the following questions about the snapshot algorithm: A) What is it used for? It used for capturing the global state of a distributed system.

More information

University of Maryland. fzzj, basili, Empirical studies (Desurvire, 1994) (Jeries, Miller, USABILITY INSPECTION

University of Maryland. fzzj, basili, Empirical studies (Desurvire, 1994) (Jeries, Miller, USABILITY INSPECTION AN EMPIRICAL STUDY OF PERSPECTIVE-BASED USABILITY INSPECTION Zhijun Zhang, Victor Basili, and Ben Shneiderman Department of Computer Science University of Maryland College Park, MD 20742, USA fzzj, basili,

More information

Multimedia Applications Require Adaptive CPU Scheduling. Veronica Baiceanu, Crispin Cowan, Dylan McNamee, Calton Pu, and Jonathan Walpole

Multimedia Applications Require Adaptive CPU Scheduling. Veronica Baiceanu, Crispin Cowan, Dylan McNamee, Calton Pu, and Jonathan Walpole Multimedia Applications Require Adaptive CPU Scheduling Veronica Baiceanu, Crispin Cowan, Dylan McNamee, Calton Pu, and Jonathan Walpole Department of Computer Science and Engineering Oregon Graduate Institute

More information

On Checkpoint Latency. Nitin H. Vaidya. In the past, a large number of researchers have analyzed. the checkpointing and rollback recovery scheme

On Checkpoint Latency. Nitin H. Vaidya. In the past, a large number of researchers have analyzed. the checkpointing and rollback recovery scheme On Checkpoint Latency Nitin H. Vaidya Department of Computer Science Texas A&M University College Station, TX 77843-3112 E-mail: vaidya@cs.tamu.edu Web: http://www.cs.tamu.edu/faculty/vaidya/ Abstract

More information

Petri Nets ~------~ R-ES-O---N-A-N-C-E-I--se-p-te-m--be-r Applications.

Petri Nets ~------~ R-ES-O---N-A-N-C-E-I--se-p-te-m--be-r Applications. Petri Nets 2. Applications Y Narahari Y Narahari is currently an Associate Professor of Computer Science and Automation at the Indian Institute of Science, Bangalore. His research interests are broadly

More information

Feasibility of Testing to Code. Feasibility of Testing to Code. Feasibility of Testing to Code. Feasibility of Testing to Code (contd)

Feasibility of Testing to Code. Feasibility of Testing to Code. Feasibility of Testing to Code. Feasibility of Testing to Code (contd) Feasibility of Testing to Code (contd) Feasibility of Testing to Code (contd) An incorrect code fragment for determining if three integers are equal, together with two test cases Flowchart has over 10

More information

second_language research_teaching sla vivian_cook language_department idl

second_language research_teaching sla vivian_cook language_department idl Using Implicit Relevance Feedback in a Web Search Assistant Maria Fasli and Udo Kruschwitz Department of Computer Science, University of Essex, Wivenhoe Park, Colchester, CO4 3SQ, United Kingdom fmfasli

More information

Topics on Web Services COMP6017

Topics on Web Services COMP6017 Topics on Web Services COMP6017 Dr Nicholas Gibbins nmg@ecs.soton.ac.uk 2013-2014 Module Aims Introduce you to service oriented architectures Introduce you to both traditional and RESTful Web Services

More information

Remote Invocation. 1. Introduction 2. Remote Method Invocation (RMI) 3. RMI Invocation Semantics

Remote Invocation. 1. Introduction 2. Remote Method Invocation (RMI) 3. RMI Invocation Semantics Remote Invocation Nicola Dragoni Embedded Systems Engineering DTU Informatics 1. Introduction 2. Remote Method Invocation (RMI) 3. RMI Invocation Semantics From the First Lecture (Architectural Models)...

More information

Component-Based Software Engineering TIP

Component-Based Software Engineering TIP Component-Based Software Engineering TIP X LIU, School of Computing, Napier University This chapter will present a complete picture of how to develop software systems with components and system integration.

More information