Test Oracles and Metamorphic Testing - A Case Study
|
|
|
- Shavonne Sutton
- 5 years ago
- Views:
Transcription
1 METAMORPHIC TESTING: A SIMPLIFIED SOLUTION TO TEST NON-TESTABLE PROGRAMS AND RELIEVES THE NEED OF COMPLEX TEST ORACLES IN TESTING 1 CHITTINENI ARUNA, 2 R.SIVA RAM PRASAD Assoicate professor, KKR & KSR Institute of Technology and Sciences, JNTUK, Guntur 2 Haed, Dept of IBS, ANU, Guntur 1 [email protected] Abstract Test oracle is an important factor and plays a vital role in testing to determine the test case result correctness. Most of the automatic testing techniques were adopted test oracle design tools to generate state-of-the-art test oracles to validate test results. Designing the test oracles become more complex and even not possible for most of the application areas like multi precision arithmetic, graph theory, machine learning, Bio-Informatics, Network simulations, Computer graphics and compilers etc. To avoid this test oracle problem, Metamorphic Testing (MT) has been arrived in the area of testing. MT uses the Metamorphic Relations (MR) to ensure the correctness of test outputs and to test the application by generating follow-up test cases for efficient detection of flaws. In this paper, we apply the metamorphic testing on various non-testable programs to relieve the need of complex or unavailable test oracle in testing. To support our research statement, we have taken up the challenge to implement metamorphic relations for the non-testable areas are Multi Precision Arithmetic (MPA) and Graph Theory Algorithms (GTA). Case studies on non-testable programs prove the scalability, accuracy and adoptability of our approach in detailed manner. Results of case studies will be compared to ensure the effectiveness of adopting MT for testing the non-testable programs. Index Terms Metamorphic Testing, Metamorphic Relations, Non-Testable programs, Test Oracles, Test Cases I. INTRODUCTION Computer applications are becoming a part of human s life as we are depending on them for almost every human activity. Software Testing is the primary activity for validating the quality of software and to find the bugs from the software application to make it as reliable. Testing is a process of code and result verification, to ensure the reliability of a product in terms of desired policy and expected behavior. To test any application or program we need to design the test cases, which are the collection of input values and test oracles. In traditional testing methodology test tools generate the test cases along with test oracles to compare the perceived output with expected results. Designing the test oracles become expensive and inaccurate in case of implementing for non-testable programs [1]. There are various application domains are having this test oracle problem [2] mainly Multi Precision Arithmetic, Graph Theory, Machine learning, bio-informatics, Compiler testing and some other. Metamorphic Testing [MT] become an alternate to alleviate the test oracle problem for non-testable programs. This approach will use the general relations by transforming them to metamorphic relations to alleviate the test oracle requirement in testing. Metamorphic testing makes the testing independent from test oracle by utilizing only the metamorphic relations [12]. We can apply the MT for these non-testable programs also by finding the basic metamorphic relations of program attributes. MT reuses the existing test cases to generate new ones by transforming them with the help of metamorphic attributes. This is an integrated mechanism to generate the follow-up test cases based on the target function parameters and validates the results of the function without using the oracles by the help of metamorphic relations. Program checkers and selftesting also use the basic relations of program to test the program without having the oracle intervention. MT uses the data diversity technique (Kuo et al., 2011) to generate the follow-up test cases based on the existed successful test cases, which are low cost, scalable, efficient and leads to N-Version Programming [4]. The generic architecture of MT is shown in the figure 1. Figure 1. Generic Architecture diagram of MT In this paper, we apply the metamorphic testing on various non-testable programs to relieve the need of complex or unavailable test oracle in testing. To support our research statement, we have taken up the challenge to implement metamorphic relations for the 9
2 non-testable areas are Multi Precision Arithmetic (MPA) and Graph Theory Algorithms (GTA). Multi Precision Arithmetic (MPA) plays a vital role in majority of scientific applications, where the accuracy levels are more considerable and even a small mistake may misguide the downstream experimental results. Normal testing strategies rely on test oracles to predict the expected output to compare with target output. Testing of MPA programs is a crucial work with normal testing strategies, due to the complexity of generating oracles to verify the correctness of test outputs. This paper uses the MT to test the MPA programs without designing any test oracle. Case studies will explain, adopting the metamorphic relations to MPA programs to test and generating follow-up test cases also. Graph theory [6] is an integral part of mathematics used to resolve the essential real time problems in application development. Many popular graph theory algorithms were become the prominent solutions for various application design and development issues. Designing the test cases and test oracles for graph theory algorithms is an expensive task due to the complexity of their design and development. Many researches were introduced various approaches for testing graph theory algorithms are having the common limitation as test-oracle problem. We are using metamorphic relations to test some crucial graph theory algorithms in this paper. Our research work also dedicated to adopt the metamorphic testing for graph theory algorithms to test them in a feasible manner with the help of metamorphic relations. II. LITERATURE REVIEW A. Metamorphic Testing In the year of 1998, prof. T.Y. Chen and his coauthors were introduced metamorphic testing in their publishing s [3], as a better alternative to overcome the test oracle problem. Metamorphic Testing is an attribute based testing methodology, which identifies the general attribute (input) relations to verify the test results to alleviate the need of test oracle design. Instead of test oracles MT uses the Metamorphic Relations [1, 2] to identify the existence of unrevealed bug s information and to generate the follow-up test cases by using the successive test cases of MT. The abstracted design of metamorphic relations for a program P is described as below. For example, if a program P is the implementation of specification T and having the function f for testing with possible input values set I = {i1, i2, i3 in, where n>1 and I D(input domain D). After running the program code, the output is f(i1), f(i2), f(i3),, f(in) as result set K = { f(i1), f(i2), f(i3),, f(in)}, which satisfies the relation set R ={r1, r2, r3,, rn} with D as: Each value of D => R => Each counterpart of KMeans each value of input domain D is having a relation R with the respective counterpart K (result 10 set). We can describe this in detail as: i1, i2, i3 in)<=> r <=> (f(i1), f(i2), f(i3),, f(in)) r (i1, i2, i3 in) <=> r(f(i1), f(i2), f(i3),, f(in)) Then r is one bi-directional relation from R, and applicable to the given inputs and outputs in bidirectional way. This relation should be verified at each input and respective output combination level as: {(i1<=> r <=> f(i1)), (i2<=> r <=> f(i2)), (i3<=> r <=> f(i3)), (in<=> r <=> f(in)) } In the above test set, i1 is input value with relation r to output f(i1) is considered as a metamorphic relation MR1 (i1, f(i1)). Like this we can create the metamorphic relations set for the given I/O combinations as: MRN1 = {MR1 (i1, f(i1)), MR1 (i2, f(i2)), MR1 (i3, f(i3)), MR1 (in, f(in)) } Sometimes even more relations (MRN) need to be verifying for the same attribute set as: MRN2 = {MR2 (i1, f(i1)), MR2 (i2, f(i2)), MR2 (i3, f(i3)), MR2 (in, f(in)) } MRN3 = {MR3 (i1, f(i1)), MR3 (i2, f(i2)), MR3 (i3, f(i3)), MR3 (in, f(in)) } and so on. This can be written as metamorphic relations set MR: MR = {MRN1, MRN2, MRN3, MRNK} Once the MR is verified against all possible statements of program with all possible test relations, MT gives the test result report with successive test cases and failed test case. Successive test cases are the ones which are satisfied the metamorphic relation with the given input values, if the relation doesn t satisfied by the given input data, alerts that there is a presence of flaw. We describe the test report results as: MR = {MRN1(t), MRN2(f), MRN3(t), MRNK(t)} In above case, MRN1(t), MRN3(t) are successive test cases and MRN2(t) is a failure test case. By using successive test cases MT creates the follow-up test case for efficient testing. B. Testing MPA Applications Nowadays most of the applications are using the floating-point computations are done in double precision with a mantissa of 53 bits. However some prominent applications (i.e. weather forecasting, Biological DNA applications, Aircraft controlling applications etc.) are using double extended (64 bits), quadruple precision[5] (113 bits) or even more. MPA is an arithmetic carried out in software as IEEE 754 standard to achieve higher precision and accuracy than hardware based environment. The ANSI/IEEE 754 become a new standard for floating point arithmetic to improve the accuracy and having the same behavior with all IEEE 754 compliant systems. Researchers are following the IEEE 754 standard floating point arithmetic to design the efficient algorithms to prove correctness of their work for complex systems mentioned above. Many software applications GMP [Granlund 2004], CLN [Haible and Kreckel 2005], MPFR library [Fousse 2009] designed
3 to obtain the accurate results from multi precision arithmetic under IEEE 754 standard. Designing the test oracles for these programs to verify the test results is challenging because of its prediction complexity is called oracle problem [3]. C. Testing Graph Theory Applications Graph theory and algorithms are the common requirements to be implemented in almost every domain of software application design and development. Graph theory algorithms were documented in graph catalogues and implemented by developers by following the catalogues. Testing these developer implementations is mandatory to ensure that the implementation is satisfying the catalogue policy and results are accurate or not. This process will improve the application quality and reliability in a streamlined manner. We need to generate and test maximum possible number of test cases with all variations of input values to ensure the defect freeness of an application. Designing the test cases and test oracles for graph theory algorithms is an expensive task due to the complexity of their design and development. Many researches were introduced various approaches for testing graph theory algorithms are having the common limitation as testoracle problem. From manual testing to automatic testing all mechanism are having the same problem while testing graph theory algorithms. III. ADOPTING MT FOR MPA AND GRAPH THEORY In this section, we discuss about applying the MT for Multi Precision Arithmetic (MPA) and Graph Theory Algorithms (GTA) as two different case studies. The major aim of each case study is problem statement, MT adoption, Test Results verification and conclusion. Here the both case studies will follow the same approach to prove the efficiency of metamorphic testing on non-testable programs. IV. MULTI PRECISION ARITHMETIC WITH MT CASE STUDY This case study describes the adoption of metamorphic testing in the area of multi precision arithmetic, to perform the testing and identifying hidden bug information under non testable circumstances. As per the above mentioned case study model, we implemented this as follows: A. Problem Statement of MPA Multi Precision Arithmetic (MPA) plays a vital role in majority of scientific applications, where the accuracy levels are more considerable and even a small mistake may misguide the downstream experimental results. In order to assure the accuracy of these applications, they should be tested in robust manner with an efficient software testing environment. Defining the test oracles for this is always difficult due to their evaluation complexity and time consuming. Here we would like to discuss about the difficulties while comparing the results of MPA with an example of C language: #include<math.h> #include<stdio.h> double complexevaluation (double x, double y, double z){ double result = *x *y *z; printf ("Result = %.16e\n", result ); return result; } When calling the above method on 64-bit core2 with Fedora10 system with the actual values as double complexevaluation(sin(1e22), log(17.1), exp(0.46) ) the obtained value of result = e-11 which is completely wrong as per IEEE 754 [16], since the expected value is The reason is overflow of double variable in the program, to avoid this problem we have to use the long double instead of double. Identifying these types of errors in program is very difficult although we need the complex test oracle in hand. B. MT adoption for testing MPA In our research we proposed MT to assure the accuracy of Multi Precision Arithmetic applications, which are having high effect on mission critical software [7]. MT validates the test outputs by converting the general relations of program attributes to the metamorphic relations of MT. This work concentrates on multiplication and division problems of two types of numbers systems both integer and rational (floating point) from multi precision arithmetic (MPA). Evaluating complex arithmetic operations (division, multiplication and exponential ) of big numbers with IEEE 754 compliant programing language[8] applications still having the problems due variable overflow, memory over flow, truncation of scale, inaccurate rounding and so on. Henceforth we have to design the efficient testing strategy to reveal the bugs from these programs. Metamorphic Testing technique is applicable in this case to test the programs by converting the general relations of operations as metamorphic relations as show below for multiplication and division operations of MPA: Definition1: If i, j and k are three numbers {i, j, k R } and multiplication result of (i,j) is k than i, j, k has to satisfy all these proven relations[17] to assure the accuracy of generated test output instead of relations. (i) i * j = k (i*j) * x = k * x {(i, j, k) N and (i, j, k) Q } (ii) i * j = k k / j = i && k / i = j { ( i, j, k ) N and ( i, j, k ) Q } Definition2: If i, j and k are three numbers {i, j, k R } and multiplication result of (i,j) is k than i, j, k has to satisfy all these proven relations[17] to assure the accuracy of generated test output instead of 11
4 relations. (i) i / j = k ( i / j) * x = k * x { ( i, j, k ) N and ( i, j, k ) Q } (ii) i / j = k k * j = i && i / k = j {( i, j, k ) N and ( i, j, k ) Q } C. Experiments on MPA In our case study we had concentrated on various complex multi precision arithmetic operations like multiplication, division, modules, round, ceil etc. For any given program p, having the complex operation O and expecting the input values i1, i2, i3 in where ik Q and the result is either R or C. Our Relational approach collects all successful test cases as t and uses them to generate the next level test cases t and compare the results like p(t) p(t ) to reveal the unidentified bugs in the system. For example as mentioned in related work program example, we evaluated sin (1e22), log (17.1), exp (0.46) with the predefined set of MR s [9] and we applied our proposed relations of definition 1 & 2 for the complex multiplication with double values *x, 94228*y and 78487*z. Each of this doubles multiplication result for various test cases are compared against all the proposed metamorphic relations and any mismatch leads to confirm the existence of a flaw. In our experiments we mainly concentrated on identifying the hidden bugs due to test oracle complexity. For this operation we selected 4 real-time mathematical C projects to test, where each of them having approximately programs with MPA. Our simulations are evaluated the results of every math program based on their type of operation and operand metamorphic relations. Similarly we compared the results of our proposed technique MT using Metamorphic Relations with System-level properties of other testing tools on the four mathematical applications and showed in Table.1. Graph 1.Comparison results of MR s with System level properties and total mutants V. GRAPH THEORY ALGORITHMS (GTA) WITH MT CASE STUDY This case study describes the adoption of metamorphic testing in the area of Graph Theory Algorithms, to perform the testing and identifying hidden bug information under non testable circumstances. As per the above mentioned case study model, we implemented this as follows: A. Problem Statement of GTA Graph theory and algorithms become an essential knowledge for computer science and relevant applications. Minimal spanning tree implementation is another important and widely used algorithm from graph theory in computer application. This is widely used in transistors design, network routing, DNA Analysis and some other. Kruskal s Algorithm is one prominent implementation for finding minimal spanning tree from the given graph structure as shown in figure.2.a and 2.b. Figure2.a Undirected non-negative weighted graph Table.1. Comparison results of MR s with System level properties From the above table (Table.1) results we can assure that MR found almost all flaws from the given applications and having the high detection ration when compared with other system level approaches SVM, Arhant-II, GBT and PAYL as shown in graph 1. Figure2.bminimal spanning treefor weighted graph The below diagram figure 2.a shows that an undirected non-negative weighted graph with vertices set V = {a, b, c, d, e, f, g, h, i} and edge set E as t ={(a,b),(b,c),(b,h),(a,h),(b,c),(c,i),(i,h), (h,g),(i,g),(c,f),(g,f),(c,d),(d,f),(d,e),(e,f)}. Figure 2.b displays the obtained Kruskal s minimal spanning tree [10 ] with blue colored edges which cover all 12
5 vertices of given graph with minimal weight. Testing this minimal spanning tree result accuracy is very complex in traditional testing methodology with test oracles due to the expensiveness of oracle generation. Many researches were implemented test cases for minimal spanning tree by giving different combinations of input values with edge weights and oracles to test the program behavior. Very few among them were concentrated on the concept of result accuracy due to the difficulties in testing the result. Logical errors of a program at run time might generate the output which is incorrect without any exception. B. MT adoption for testing GTA To overcome the test oracle problem and logical errors in testing graph theory applications we are adopting metamorphic testing for the minimal spanning tree also. In this case our research is transforming the existed basic spanning tree relations to metamorphic relations to overcome the above specified problems. Our present research contributing relations might not be enough to all aspects of testing but improvements on this area will fulfill the gap. The main advantage of this approach is testing the graph results accuracy with proven metamorphic relations without designing complex and expensive test oracles. This process will behave as black box testing for graph theory algorithms and identifies the hidden logical errors also. Figure 2.b describes that kruskal s minimal spanning tree as t = {(a, b), (a, h), (c, i), (h, g), (c, f), (g, f), (c, d), (d, e)}. In order to test these results we are applying the below metamorphic relations are test cases for metamorphic testing and based on the successful test cases again we design the new test cases. (i) A Minimal spanning tree should be connected and has to cover all the vertices of source graph without cycles. (ii) For a graph G with N number of vertices, should contain N-1 edges with positive weights in their minimal tree implementation. (iii) Always the weight(length) of minimal spanning tree should be equal or less than the weight of all edges of a source graph (iv) Adding an edge to the spanning tree should create a cycle and removing an edge from spanning tree leaves the spanning tree as disconnected. (v) Spanning tree is a sub graph to its source graph C. Experiments on GTA To implement the above metamorphic relations we consider the figure.2.a as a base model graph G= {V, E} whereas V =9 and E = 14. Minimal spanning tree for the same is shown in figure.2.b as a sub graph G = {V, E } whereas V =9 and E = 8. To test the first relation we compared the V G and V G results true for equality relation because V = V = 9. Second relation is also returning true because G ( E ) = [G( V ) /G ( V ) 1 ]. Third relation compared with edges as G ( E ) G( E ) is also returning true as result based on the weight values mentioned above. If we added any edge to this tree is creating a cycle and removing any edge making the graph disconnect is proving fourth relations. As all edges of spanning tree are appeared with adjacent connections like t t is supporting the final relation. We test all these relations one by one in an order with follow up test cases from successful test cases. This process revealed many flaws when we tested with wrong (negative) test cases. Above theory is concluding that, this type of test case implementation with metamorphic relations is feasible and alternate for non-testable programs like graph theory applications. CONCLUSION In generally testing complex programs without oracles leads to avoid the in-depth testing of software causes failure at runtime. As scientific applications become more ubiquitous in society, we have to assure the accuracy of them at high level with efficient testing. Metamorphic Testing is an efficient automatic approach to overcome the oracleproblem in testing non-testable programs.mt uses the Metamorphic Relations (MR) to ensure the correctness of test outputs and to test the application by generating follow-up test cases for efficient detection of flaws. In this paper, we applied the metamorphic testing on non-testable programs to relieve the need of complex or unavailable test oracle in testing. To support our research statement, we have taken up the challenge to implement metamorphic relations for the non-testable areas are multi precision arithmetic and graph theory algorithms. Case studies on non-testable programs prove the scalability, accuracy and adoptability of our approach in detailed manner. REFERENCES [1] Ch Aruna, Dr.R.Siva Ram Prasad Integration of Dynamic Symbolic Execution with Metamorphic Relations to Solve Complex Path Constraints / _CSEIT14 by GSTF digital library [2] T. Y. Chen, F.C. Kuo, T. H. Tse, and Z. Q. Zhou. Metamorphic testing and beyond. In Proc. of the International Workshop on Software Technology and Engineering Practice (STEP), pages , [3] T.Y. Chen, S.C. Cheung, and S.M. Yiu. Metamorphic testing: a new approach for generating next test cases. Technical Report HKUST-CS98-01, University of Science and Technology, Hong Kong, [4] H. Lu, W. K. Chan, and T. H. Tse. Testing contextaware middleware-centric programs: a data flow approach and an RFID-based experimentation. In Proceedings of the 14th ACM SIGSOFT ISFS pages ACM Press, New York, NY, [5] Fousse, L., Hanrot, G., Lefèvre, V., Pélissier, P., Zimmermann, P.: MPFR: A multiple-precision binary 13
6 floating-point library with correct rounding. ACM Trans. Math. Softw. 33(2) (2007) 13. [6] Sven Dickinson, Pelillo, Ramin Zabih, Introduction to the special section on graph algorithms in computer vision, IEEE on pattern analysis, Vol 23 No. 10, September [7] R. C. Sercord, Secure Coding in C and C++, Addison Wesley& Person Education Asia, [8] Université Pierre et Marie Curie, Paris, F.: CADNA: Control of Accuracy and Debugging for Numerical Applications (2010) [9] Yozo Hida, Xiaoye S. Li and David H. Bailey, Algorithms for Quad-Double Precision Floating Point Arithmetic, Proceedings of ARITH-15, IEEE Computer Society, [10] Chazelle, B. A faster deterministic algorithm for minimum spanning trees In Proceedings of the IEEE Symposium on Foundations of Computing Science. IEEE Computer Society Press, Los Alamitos, Calif., [11] Martin D. Davis, Elaine J. Weyuker : Pseudo-oracles for non-testable programs, Proceeding ACM '81 Proceedings of the ACM '81 conference Pages , ISBN: [12] Ch Aruna, Dr.R.Siva Ram Prasad Testing Approach for Dynamic Web applications based on Automated Test Strategies proceedings of 48th Annual convocation of CSI Volume II, Advances in intelligent systems and Computer, Apr-2014 cited by Springer. 14
ECE 0142 Computer Organization. Lecture 3 Floating Point Representations
ECE 0142 Computer Organization Lecture 3 Floating Point Representations 1 Floating-point arithmetic We often incur floating-point programming. Floating point greatly simplifies working with large (e.g.,
Converting Models from Floating Point to Fixed Point for Production Code Generation
MATLAB Digest Converting Models from Floating Point to Fixed Point for Production Code Generation By Bill Chou and Tom Erkkinen An essential step in embedded software development, floating- to fixed-point
Numerical Matrix Analysis
Numerical Matrix Analysis Lecture Notes #10 Conditioning and / Peter Blomgren, [email protected] Department of Mathematics and Statistics Dynamical Systems Group Computational Sciences Research
Minimizing code defects to improve software quality and lower development costs.
Development solutions White paper October 2008 Minimizing code defects to improve software quality and lower development costs. IBM Rational Software Analyzer and IBM Rational PurifyPlus software Kari
Verification and Validation of Software Components and Component Based Software Systems
Chapter 5 29 Verification and Validation of Software Components and Component Based Christina Wallin Industrial Information Technology Software Engineering Processes ABB Corporate Research [email protected]
IMPROVING BUSINESS PROCESS MODELING USING RECOMMENDATION METHOD
Journal homepage: www.mjret.in ISSN:2348-6953 IMPROVING BUSINESS PROCESS MODELING USING RECOMMENDATION METHOD Deepak Ramchandara Lad 1, Soumitra S. Das 2 Computer Dept. 12 Dr. D. Y. Patil School of Engineering,(Affiliated
Static Analysis of Dynamic Properties - Automatic Program Verification to Prove the Absence of Dynamic Runtime Errors
Static Analysis of Dynamic Properties - Automatic Program Verification to Prove the Absence of Dynamic Runtime Errors Klaus Wissing PolySpace Technologies GmbH Argelsrieder Feld 22 82234 Wessling-Oberpfaffenhofen
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
Metamorphic Testing and DSL for Test Cases & Checker Generators
Olympiads in Informatics, 2015, Vol. 9, 75 88 2015 Vilnius University, IOI DOI: http://dx.doi.org/10.15388/ioi.2015.07 75 Metamorphic Testing and DSL for Test Cases & Checker Generators Ryan Ignatius HADIWIJAYA,
Index Terms Domain name, Firewall, Packet, Phishing, URL.
BDD for Implementation of Packet Filter Firewall and Detecting Phishing Websites Naresh Shende Vidyalankar Institute of Technology Prof. S. K. Shinde Lokmanya Tilak College of Engineering Abstract Packet
International Journal of Computer Engineering and Applications, Volume V, Issue III, March 14
International Journal of Computer Engineering and Applications, Volume V, Issue III, March 14 PREDICTION OF RATE OF IMPROVEMENT OF SOFTWARE QUALITY AND DEVELOPMENT EFFORT ON THE BASIS OF DEGREE OF EXCELLENCE
Introduction and Overview
Introduction and Overview Definitions. The general design process. A context for design: the waterfall model; reviews and documents. Some size factors. Quality and productivity factors. Material from:
Fault Analysis in Software with the Data Interaction of Classes
, pp.189-196 http://dx.doi.org/10.14257/ijsia.2015.9.9.17 Fault Analysis in Software with the Data Interaction of Classes Yan Xiaobo 1 and Wang Yichen 2 1 Science & Technology on Reliability & Environmental
Tai Kam Fong, Jackie. Master of Science in E-Commerce Technology
Trend Following Algorithms in Automated Stock Market Trading by Tai Kam Fong, Jackie Master of Science in E-Commerce Technology 2011 Faculty of Science and Technology University of Macau Trend Following
Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com
Best Practises for LabVIEW FPGA Design Flow 1 Agenda Overall Application Design Flow Host, Real-Time and FPGA LabVIEW FPGA Architecture Development FPGA Design Flow Common FPGA Architectures Testing and
Regression Testing Based on Comparing Fault Detection by multi criteria before prioritization and after prioritization
Regression Testing Based on Comparing Fault Detection by multi criteria before prioritization and after prioritization KanwalpreetKaur #, Satwinder Singh * #Research Scholar, Dept of Computer Science and
Binary Number System. 16. Binary Numbers. Base 10 digits: 0 1 2 3 4 5 6 7 8 9. Base 2 digits: 0 1
Binary Number System 1 Base 10 digits: 0 1 2 3 4 5 6 7 8 9 Base 2 digits: 0 1 Recall that in base 10, the digits of a number are just coefficients of powers of the base (10): 417 = 4 * 10 2 + 1 * 10 1
WESTMORELAND COUNTY PUBLIC SCHOOLS 2011 2012 Integrated Instructional Pacing Guide and Checklist Computer Math
Textbook Correlation WESTMORELAND COUNTY PUBLIC SCHOOLS 2011 2012 Integrated Instructional Pacing Guide and Checklist Computer Math Following Directions Unit FIRST QUARTER AND SECOND QUARTER Logic Unit
A FRAMEWORK FOR MANAGING RUNTIME ENVIRONMENT OF JAVA APPLICATIONS
A FRAMEWORK FOR MANAGING RUNTIME ENVIRONMENT OF JAVA APPLICATIONS Abstract T.VENGATTARAMAN * Department of Computer Science, Pondicherry University, Puducherry, India. A.RAMALINGAM Department of MCA, Sri
Architecture Centric Development in Software Product Lines
Architecture Centric Development in Software Product Lines Aurangzeb Khan DCE, College of E & ME National University of Science and Technology (NUST), Pakistan Farooque Azam DCE, College of E & ME National
REAL-TIME STREAMING ANALYTICS DATA IN, ACTION OUT
REAL-TIME STREAMING ANALYTICS DATA IN, ACTION OUT SPOT THE ODD ONE BEFORE IT IS OUT flexaware.net Streaming analytics: from data to action Do you need actionable insights from various data streams fast?
Context-aware Library Management System using Augmented Reality
International Journal of Electronic and Electrical Engineering. ISSN 0974-2174 Volume 7, Number 9 (2014), pp. 923-929 International Research Publication House http://www.irphouse.com Context-aware Library
Fault Localization in a Software Project using Back- Tracking Principles of Matrix Dependency
Fault Localization in a Software Project using Back- Tracking Principles of Matrix Dependency ABSTRACT Fault identification and testing has always been the most specific concern in the field of software
TECHNICAL UNIVERSITY OF CRETE DATA STRUCTURES FILE STRUCTURES
TECHNICAL UNIVERSITY OF CRETE DEPT OF ELECTRONIC AND COMPUTER ENGINEERING DATA STRUCTURES AND FILE STRUCTURES Euripides G.M. Petrakis http://www.intelligence.tuc.gr/~petrakis Chania, 2007 E.G.M. Petrakis
Name: Class: Date: 9. The compiler ignores all comments they are there strictly for the convenience of anyone reading the program.
Name: Class: Date: Exam #1 - Prep True/False Indicate whether the statement is true or false. 1. Programming is the process of writing a computer program in a language that the computer can respond to
Divide: Paper & Pencil. Computer Architecture ALU Design : Division and Floating Point. Divide algorithm. DIVIDE HARDWARE Version 1
Divide: Paper & Pencil Computer Architecture ALU Design : Division and Floating Point 1001 Quotient Divisor 1000 1001010 Dividend 1000 10 101 1010 1000 10 (or Modulo result) See how big a number can be
Introduction to Formal Methods. Các Phương Pháp Hình Thức Cho Phát Triển Phần Mềm
Introduction to Formal Methods Các Phương Pháp Hình Thức Cho Phát Triển Phần Mềm Outline Introduction Formal Specification Formal Verification Model Checking Theorem Proving Introduction Good papers to
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
Domains and Competencies
Domains and Competencies DOMAIN I TECHNOLOGY APPLICATIONS CORE Standards Assessed: Computer Science 8 12 I VII Competency 001: The computer science teacher knows technology terminology and concepts; the
Dynamic Resource management with VM layer and Resource prediction algorithms in Cloud Architecture
Dynamic Resource management with VM layer and Resource prediction algorithms in Cloud Architecture 1 Shaik Fayaz, 2 Dr.V.N.Srinivasu, 3 Tata Venkateswarlu #1 M.Tech (CSE) from P.N.C & Vijai Institute of
Model Checking based Software Verification
Model Checking based Software Verification 18.5-2006 Keijo Heljanko [email protected] Department of Computer Science and Engineering Helsinki University of Technology http://www.tcs.tkk.fi/~kepa/ 1/24
(Refer Slide Time: 01:52)
Software Engineering Prof. N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture - 2 Introduction to Software Engineering Challenges, Process Models etc (Part 2) This
How To Develop Software
Software Engineering Prof. N.L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture-4 Overview of Phases (Part - II) We studied the problem definition phase, with which
Computer Science 217
Computer Science 217 Midterm Exam Fall 2009 October 29, 2009 Name: ID: Instructions: Neatly print your name and ID number in the spaces provided above. Pick the best answer for each multiple choice question.
Habanero Extreme Scale Software Research Project
Habanero Extreme Scale Software Research Project Comp215: Java Method Dispatch Zoran Budimlić (Rice University) Always remember that you are absolutely unique. Just like everyone else. - Margaret Mead
THE NAS KERNEL BENCHMARK PROGRAM
THE NAS KERNEL BENCHMARK PROGRAM David H. Bailey and John T. Barton Numerical Aerodynamic Simulations Systems Division NASA Ames Research Center June 13, 1986 SUMMARY A benchmark test program that measures
An Automated Development Process for Interlocking Software that. Cuts Costs and Provides Improved Methods for Checking Quality.
An Automated Development Process for Interlocking Software that Cuts Costs and Provides Improved Methods for Checking Quality and Safety Authors: Claes Malmnäs Prover Technology Rosenlundsgatan 54 118
Candle Plant process automation based on ABB 800xA Distributed Control Systems
Candle Plant process automation based on ABB 800xA Distributed Control Systems Yousef Iskandarani and Karina Nohammer Department of Engineering University of Agder Jon Lilletuns vei 9, 4879 Grimstad Norway
Review of Mobile Applications Testing with Automated Techniques
Review of Mobile Testing with Automated Techniques Anureet Kaur Asst Prof, Guru Nanak Dev University, Amritsar, Punjab Abstract: As the mobile applications and mobile consumers are rising swiftly, it is
Bachelor Degree in Informatics Engineering Master courses
Bachelor Degree in Informatics Engineering Master courses Donostia School of Informatics The University of the Basque Country, UPV/EHU For more information: Universidad del País Vasco / Euskal Herriko
Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students
Eastern Washington University Department of Computer Science Questionnaire for Prospective Masters in Computer Science Students I. Personal Information Name: Last First M.I. Mailing Address: Permanent
AS-D1 SIMULATION: A KEY TO CALL CENTER MANAGEMENT. Rupesh Chokshi Project Manager
AS-D1 SIMULATION: A KEY TO CALL CENTER MANAGEMENT Rupesh Chokshi Project Manager AT&T Laboratories Room 3J-325 101 Crawfords Corner Road Holmdel, NJ 07733, U.S.A. Phone: 732-332-5118 Fax: 732-949-9112
Web Application Regression Testing: A Session Based Test Case Prioritization Approach
Web Application Regression Testing: A Session Based Test Case Prioritization Approach Mojtaba Raeisi Nejad Dobuneh 1, Dayang Norhayati Abang Jawawi 2, Mohammad V. Malakooti 3 Faculty and Head of Department
Lund, November 16, 2015. Tihana Galinac Grbac University of Rijeka
Lund, November 16, 2015. Tihana Galinac Grbac University of Rijeka Motivation New development trends (IoT, service compositions) Quality of Service/Experience Demands Software (Development) Technologies
System-on-Chip Design Verification: Challenges and State-of-the-art
System-on-Chip Design Verification: Challenges and State-of-the-art Prof. Sofiène Tahar Hardware Verification Group Concordia University Montréal, QC, CANADA MCSOC 12 Aizu-Wakamatsu, Fukushima, Japan September
Latest Research and Development on Software Testing Techniques and Tools
General Article International Journal of Current Engineering and Technology E-ISSN 2277 4106, P-ISSN 2347-5161 2014 INPRESSCO, All Rights Reserved Available at http://inpressco.com/category/ijcet Rasneet
RN-coding of Numbers: New Insights and Some Applications
RN-coding of Numbers: New Insights and Some Applications Peter Kornerup Dept. of Mathematics and Computer Science SDU, Odense, Denmark & Jean-Michel Muller LIP/Arénaire (CRNS-ENS Lyon-INRIA-UCBL) Lyon,
The Challenge of Productivity Measurement
Proceedings: Pacific Northwest Software Quality Conference, 2006 The Challenge of Productivity Measurement David N. Card Q-Labs, Inc [email protected] Biography- David N. Card is a fellow of Q-Labs, a subsidiary
Digital Circuit Design
Test and Diagnosis of of ICs Fault coverage (%) 95 9 85 8 75 7 65 97.92 SSL 4,246 Shawn Blanton Professor Department of ECE Center for Silicon System Implementation CMU Laboratory for Integrated Systems
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
Software Testing & Analysis (F22ST3): Static Analysis Techniques 2. Andrew Ireland
Software Testing & Analysis (F22ST3) Static Analysis Techniques Andrew Ireland School of Mathematical and Computer Science Heriot-Watt University Edinburgh Software Testing & Analysis (F22ST3): Static
Instruction Set Architecture (ISA)
Instruction Set Architecture (ISA) * Instruction set architecture of a machine fills the semantic gap between the user and the machine. * ISA serves as the starting point for the design of a new machine
Outline. hardware components programming environments. installing Python executing Python code. decimal and binary notations running Sage
Outline 1 Computer Architecture hardware components programming environments 2 Getting Started with Python installing Python executing Python code 3 Number Systems decimal and binary notations running
Two Flavors in Automated Software Repair: Rigid Repair and Plastic Repair
Two Flavors in Automated Software Repair: Rigid Repair and Plastic Repair Martin Monperrus, Benoit Baudry Dagstuhl Preprint, Seminar #13061, 2013. Link to the latest version Abstract In this paper, we
Demonstration of an Automated Integrated Test Environment for Web-based Applications
Demonstration of an Automated Integrated Test Environment for Web-based Applications Tiziana Margaria 1,2, Oliver Niese 2, and Bernhard Steffen 2 1 METAFrame Technologies GmbH, Dortmund, Germany [email protected]
YOKING OBJECT ORIENTED METRICS THROUGH MUTATION TESTING FOR MINIMIZING TIME PERIOD RAMIFICATION
YOKING OBJECT ORIENTED METRICS THROUGH MUTATION TESTING FOR MINIMIZING TIME PERIOD RAMIFICATION 1 Chandu P.M.S.S., 2 Dr.T.Sasikala 1. Research Scholar, Department of CSE, Sathyabama University, Chennai,
Certification of a Scade 6 compiler
Certification of a Scade 6 compiler F-X Fornari Esterel Technologies 1 Introduction Topic : What does mean developping a certified software? In particular, using embedded sofware development rules! What
What is Modeling and Simulation and Software Engineering?
What is Modeling and Simulation and Software Engineering? V. Sundararajan Scientific and Engineering Computing Group Centre for Development of Advanced Computing Pune 411 007 [email protected] Definitions
Precision & Performance: Floating Point and IEEE 754 Compliance for NVIDIA GPUs
Precision & Performance: Floating Point and IEEE 754 Compliance for NVIDIA GPUs Nathan Whitehead Alex Fit-Florea ABSTRACT A number of issues related to floating point accuracy and compliance are a frequent
Large-Scale Data Sets Clustering Based on MapReduce and Hadoop
Journal of Computational Information Systems 7: 16 (2011) 5956-5963 Available at http://www.jofcis.com Large-Scale Data Sets Clustering Based on MapReduce and Hadoop Ping ZHOU, Jingsheng LEI, Wenjun YE
SIMATIC IT Production Suite Answers for industry.
Driving Manufacturing Performance SIMATIC IT Production Suite Answers for industry. SIMATIC IT at the intersection of value creation processes With SIMATIC IT, Siemens is broadening the scope of MES. Plant
A Platform Independent Testing Tool for Automated Testing of Web Applications
A Platform Independent Testing Tool for Automated Testing of Web Applications December 10, 2009 Abstract Increasing complexity of web applications and their dependency on numerous web technologies has
FPGA Prototyping Primer
FPGA Prototyping Primer S2C Inc. 1735 Technology Drive, Suite 620 San Jose, CA 95110, USA Tel: +1 408 213 8818 Fax: +1 408 213 8821 www.s2cinc.com What is FPGA prototyping? FPGA prototyping is the methodology
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
Informatica e Sistemi in Tempo Reale
Informatica e Sistemi in Tempo Reale Introduction to C programming Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa October 25, 2010 G. Lipari (Scuola Superiore Sant Anna)
FAULT TOLERANCE FOR MULTIPROCESSOR SYSTEMS VIA TIME REDUNDANT TASK SCHEDULING
FAULT TOLERANCE FOR MULTIPROCESSOR SYSTEMS VIA TIME REDUNDANT TASK SCHEDULING Hussain Al-Asaad and Alireza Sarvi Department of Electrical & Computer Engineering University of California Davis, CA, U.S.A.
Technical Training Module ( 30 Days)
Annexure - I Technical Training Module ( 30 Days) Section 1 : Programmable Logic Controller (PLC) 1. Introduction to Programmable Logic Controller - A Brief History, Need and advantages of PLC, PLC configuration,
ISSN: 2319-5967 ISO 9001:2008 Certified International Journal of Engineering Science and Innovative Technology (IJESIT) Volume 2, Issue 3, May 2013
Transistor Level Fault Finding in VLSI Circuits using Genetic Algorithm Lalit A. Patel, Sarman K. Hadia CSPIT, CHARUSAT, Changa., CSPIT, CHARUSAT, Changa Abstract This paper presents, genetic based algorithm
Levels of Software Testing. Functional Testing
Levels of Software Testing There are different levels during the process of Testing. In this chapter a brief description is provided about these levels. Levels of testing include the different methodologies
A Mind Map Based Framework for Automated Software Log File Analysis
2011 International Conference on Software and Computer Applications IPCSIT vol.9 (2011) (2011) IACSIT Press, Singapore A Mind Map Based Framework for Automated Software Log File Analysis Dileepa Jayathilake
How To Calculate Kinematics Of A Parallel Robot
AUTOMATYKA/ AUTOMATICS 03 Vol. 7 No. http://dx.doi.org/0.7494/automat.03.7..87 Grzegorz Karpiel*, Konrad Gac*, Maciej Petko* FPGA Based Hardware Accelerator for Parallel Robot Kinematic Calculations. Introduction
CA Service Desk Manager
PRODUCT BRIEF: CA SERVICE DESK MANAGER CA Service Desk Manager CA SERVICE DESK MANAGER IS A VERSATILE, COMPREHENSIVE IT SUPPORT SOLUTION THAT HELPS YOU BUILD SUPERIOR INCIDENT AND PROBLEM MANAGEMENT PROCESSES
Cloud Computing for Agent-based Traffic Management Systems
Cloud Computing for Agent-based Traffic Management Systems Manoj A Patil Asst.Prof. IT Dept. Khyamling A Parane Asst.Prof. CSE Dept. D. Rajesh Asst.Prof. IT Dept. ABSTRACT Increased traffic congestion
EVALUATING METRICS AT CLASS AND METHOD LEVEL FOR JAVA PROGRAMS USING KNOWLEDGE BASED SYSTEMS
EVALUATING METRICS AT CLASS AND METHOD LEVEL FOR JAVA PROGRAMS USING KNOWLEDGE BASED SYSTEMS Umamaheswari E. 1, N. Bhalaji 2 and D. K. Ghosh 3 1 SCSE, VIT Chennai Campus, Chennai, India 2 SSN College of
Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students
Eastern Washington University Department of Computer Science Questionnaire for Prospective Masters in Computer Science Students I. Personal Information Name: Last First M.I. Mailing Address: Permanent
MEng, BSc Applied Computer Science
School of Computing FACULTY OF ENGINEERING MEng, BSc Applied Computer Science Year 1 COMP1212 Computer Processor Effective programming depends on understanding not only how to give a machine instructions
A Static Analyzer for Large Safety-Critical Software. Considered Programs and Semantics. Automatic Program Verification by Abstract Interpretation
PLDI 03 A Static Analyzer for Large Safety-Critical Software B. Blanchet, P. Cousot, R. Cousot, J. Feret L. Mauborgne, A. Miné, D. Monniaux,. Rival CNRS École normale supérieure École polytechnique Paris
Comparative Study of Automated testing techniques for Mobile Apps
Comparative Study of Automated testing techniques for Mobile Apps Anureet Kaur, Dr.Kulwant Kaur, Amritpal Singh Ph.D., Research Scholar, PTU, Jalandhar(India), Dean and Asst Prof, Apeejay Institute of
Stream Processing on GPUs Using Distributed Multimedia Middleware
Stream Processing on GPUs Using Distributed Multimedia Middleware Michael Repplinger 1,2, and Philipp Slusallek 1,2 1 Computer Graphics Lab, Saarland University, Saarbrücken, Germany 2 German Research
Software Testing Strategies and Techniques
Software Testing Strategies and Techniques Sheetal Thakare 1, Savita Chavan 2, Prof. P. M. Chawan 3 1,2 MTech, Computer Engineering VJTI, Mumbai 3 Associate Professor, Computer Technology Department, VJTI,
Discuss the size of the instance for the minimum spanning tree problem.
3.1 Algorithm complexity The algorithms A, B are given. The former has complexity O(n 2 ), the latter O(2 n ), where n is the size of the instance. Let n A 0 be the size of the largest instance that can
Practical Programming, 2nd Edition
Extracted from: Practical Programming, 2nd Edition An Introduction to Computer Science Using Python 3 This PDF file contains pages extracted from Practical Programming, 2nd Edition, published by the Pragmatic
Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students
Eastern Washington University Department of Computer Science Questionnaire for Prospective Masters in Computer Science Students I. Personal Information Name: Last First M.I. Mailing Address: Permanent
A new binary floating-point division algorithm and its software implementation on the ST231 processor
19th IEEE Symposium on Computer Arithmetic (ARITH 19) Portland, Oregon, USA, June 8-10, 2009 A new binary floating-point division algorithm and its software implementation on the ST231 processor Claude-Pierre
Floating Point Fused Add-Subtract and Fused Dot-Product Units
Floating Point Fused Add-Subtract and Fused Dot-Product Units S. Kishor [1], S. P. Prakash [2] PG Scholar (VLSI DESIGN), Department of ECE Bannari Amman Institute of Technology, Sathyamangalam, Tamil Nadu,
Decision Mathematics D1 Advanced/Advanced Subsidiary. Tuesday 5 June 2007 Afternoon Time: 1 hour 30 minutes
Paper Reference(s) 6689/01 Edexcel GCE Decision Mathematics D1 Advanced/Advanced Subsidiary Tuesday 5 June 2007 Afternoon Time: 1 hour 30 minutes Materials required for examination Nil Items included with
DIABLO VALLEY COLLEGE CATALOG 2014-2015
COMPUTER SCIENCE COMSC The computer science department offers courses in three general areas, each targeted to serve students with specific needs: 1. General education students seeking a computer literacy
