XML-BASED AUTOMATIC TEST DATA GENERATION
|
|
|
- Owen Underwood
- 10 years ago
- Views:
Transcription
1 Computing and Informatics, Vol. 27, 2008, XML-BASED AUTOMATIC TEST DATA GENERATION Halil Ibrahim Bulbul Department of Computer Education Gazi University, Ankara, Turkey Turgut Bakir Siemens AG, Ankara, Turkey Manuscript received 31 October 2006; revised 6 August 2007 Communicated by Mária Bieliková Abstract. Software engineering aims at increasing quality and reliability while decreasing the cost of the software. Testing is one of the most time-consuming phases of the software development lifecycle. Improvement in software testing results in decrease in cost and increase in quality of the software. Automation in software testing is one of the most popular ways of software cost reduction and reliability improvement. In our work we propose a system called XML-based automatic test data generation that generates the test data automatically according to the given data definition. We also proposed a test data definition language to describe the test data to be generated. This system reduces the testing time compared to manual test data generation and increases the testing reliability compared to the random test data generation by eliminating meaningless test data. Keywords: XML, XSL, XSLT, test data generation 1 INTRODUCTION Software testing is a critical element of a software quality assurance that aims at determining the quality of the system and its related models. In such a process,
2 682 H. I. Bulbul, T. Bakir a software system will be executed to determine whether it matches its specification and executes in its intended environment [1]. Software testing is an expensive and time-consuming process, especially in safety-critical applications, typically consuming at least 50% of the total cost involved in developing software [2]. Thus, decreasing the sofrware testing costs decreases the overall development cost significantly. In order to reduce the high cost of manual software testing and at the same time to increase the reliability of the testing processes researchers and practitioners have tried to automate it. One of the most important components in a testing environment is an automatic test data generator a system that automatically generates test data for a given program [3]. There are a lot of works done most of which mainly aim at automating the testing process. Testing can be automates in different ways to minimize the manual tasks. Software testing automation processes include, but are not limited to, automatic test cases, automatic running or simulation, or automatic test data generation. Since manual test data generation is one of the most expensive parts of testing, in our work we focused on automatic data generation process. There are many works referring to automatic test data generation in the literature. Some of them are focused on specific type of data such as floating-point numbers or integers [4, 5], arrays or pointers [6]. Most of them are developed for specific software such as Ada [7], ML [8] or Java [9]; other works propose new algorithms for test data generation. Genetic algorithms [7, 10, 11], or dynamic domain reduction algorithm [12] can be given as examples of proposed test data generation algorithms. The above works are pretty good examples of the progress in test data generation. Each of them has its own advantages and disadvantages compared to the others. However, in our work we did not focus on a new algorithm or specific software as listed above. Our main objective is to achieve a generic system which automatically generates data for any software, which accepts inputs of any type. In order to achieve this goal, properties of the data to be generated should be clearly defined. Maurer [13] proposed a context-free grammar-based language for generating test data. In this method a context-free grammar-based language called DGL is developed. In Maurer s work data is defined syntactically as a string of characters. This definition is then given to a compiler which generates C code accordingly. Although this is a pretty good way to generate the test data, it has some disadvantages. First, as mentioned in [13], the system has quite complex parts and the compiler has some design problems. Another disadvantage is the utilization ofacompiler,whichlimitsthe produced code. Thecoding partofthisworkseems to be static because of its complex structure. In our work we tried to develop a system which is more dynamic for new algorithms. Under these considerations we tried to find out an easier and flexible method. In our work we utilized XML (extensible Markup Language) [15] technology which is very recent and popular. XML is a meta language, which is a subset of SGML (Standard Generalized Markup Language). Today XML has a very wide range of usage mainly in internet technologies. An XML stream can be used as the definition
3 XML-Based Automatic Test Data Generation 683 of any type of structured data. The XML stream format can be defined by DTD (Document Type Declaration) or XSL (XML Schema Language) [16]. As the first step of our work we defined the rules for test data definition language. This work is very similar to that done in ATLAS test environment (ATE) [17]. Instead of writing a parser and a compiler for the definition given in XML stream we defined transformation rules which are independent of programming language and environment. We used XSLT (XML Schema Language Transformations) [18] technology which defines transformation rules of an XML stream input. XSLT can be defined so that an XML stream can be transformed to any type of output such as a text or an HTML document. Unlike ATE our system can be used to generate a code in any programming language. To do this, in our system changing the XSLT rules is enough. In Figure 1 a general scheme of the overall system is given. As seen from the figure, test data definition language rules and language transformation rules are defined. In practical usage of the system, test data is defined according to the language rules. After validation of the definition given, the transformation rules are then applied to the definition by utilizing a transformer factory. This results in a code which is called Test Data Generator dynamically. The resulting code is not necessarily in Pascal or C language. If its transformation rules are defined in XSLT then the resulting code may be generated in any programming language. In this article we introduced our system, including a test data definition part, and automatic test data generation part. In Section 2, we explained the test data definition language rules. In Section 3 we introduced the automatic test data generation rules defined by XML transformation rules. Then we depict some simple examples showing the usage of this system. We conclude this article by summarizing the advantages and disadvantages of the developed system (Section 7). 2 TEST DATA DEFINITION LANGUAGE Test data generators can be classified into three types: pathwise test data generators, data specification systems, and random test data generators [19]. In pathwise test data generators the inputs are selected to exercise a specified set of program paths. A data specification system assists users in generating a test case by providing a data specification language to describe the input data. In random test generators test data is generated by simply selecting a random point from the domain of each input variable of a program. In our work we realized a system for automatic test data generation classified in data specification systems. Such systems aim at providing feasible test data in software testing. Since random input is of little value in verifying software correctness, the controlled way of test data generation should be preferred. Software testing with randomly generated data lasts longer than other methods for verification of correctness of software, since more input is required. Narrowing the input domain and limiting the input with some specification removes infeasible data
4 684 H. I. Bulbul, T. Bakir Fig. 1. Workflow diagram of overall structure
5 XML-Based Automatic Test Data Generation 685 from test data set. It saved time in testing phase by passing meaningless testing cases. In this area Maurer [13] proposed a system utilizing context-free grammars. Unlike this work we utilized XML technology for definition of test data. By utilizing XML in this work we took very well known advantages of this technology. Although originally designed for large-scale electronic publishing, XML has found a role in supporting the exchange of a wide variety of data on the web and in other software systems [15]. Its flexibility made our system flexible as well. Since it is extensible, our system is also extensible. The following explanations will give more details about the reasons for selecting XML as the basis for our definition language. In order to propose a language, grammatical rules should be clearly identified. For this purpose we start with identification of language rules. Unlike ATE [17] we chose XML schema definition(xsd) instead of data type definition(dtd) language. XSD is a newer schema language than DTD. Detailed information on XML schema and advantages over DTD is found in [20]. 2.1 Language Components Our test data definition language has two main components the domain part and the output part. The domain part is the definition of the domain from which the generated test data will be selected. The output part contains the behaviors/rules of the test data selection such as exclusions, preferences and methods. The element data domain has child elements giving detailed description of the domain. We defined the domain type element to classify the data type of the domain. Up to now in language definition rules we restricted the domain type with three data types, namely String, Integer and Decimal. It is open for new data type definitions like the other parts of language rules. The domain itself can be a Set or a Range. The domain can also be a file which contains the elements of the domain. In each case, the data domain is a set of values. This definition only gives flexibility and convenience in the domain set definition. Although giving domain definition by Set element is a fatiguing way of domain definition, it has advantages when defining a small set of data. For example, if your software accepts currency input like USD, EURO and TRL, it is easy to define this domain with only three elements. On the other hand, if your domain is large unlike the currency example, it is not feasible to use Set definition. In this case Range type of domain definition should be utilized if possible. For example, if our software accepts input Amount data of type decimal we can define a range from a negative value to a very big positive value. If we want to select amounts with negative values and very large values only, then we may include them in a file. Higher level definition rule of data element is given in Figure 2. Definition of the data domain without any selection specification is nothing but definition of random data generation. Our domain definition part gives a little more restrictions than random data generation. In some cases this is not enough; then, test data properties or selection methods should be defined as well. The output part
6 686 H. I. Bulbul, T. Bakir <xsd:element name="data_domain"> <xsd:complextype> <xsd:sequence> <xsd:element name="domain_type" type="data_type" minoccurs="1" maxoccurs="1"/> <xsd:element name="values"> <xsd:complextype> <xsd:choice> <xsd:element name="domain_set" type="set" minoccurs="1" maxoccurs="1"/> <xsd:element ref="range" minoccurs="1" maxoccurs="1"/> <xsd:element ref="file" minoccurs="1" maxoccurs="1"/> </xsd:choice> </xsd:complextype> </xsd:element> </xsd:sequence> </xsd:complextype> </xsd:element> Fig. 2. Domain type definition rules of the test data definition defines the test data selection rules. The rules defined in this part are also extensible for new requirements in test data generation. The second part of the test data definition is the output element part in which the test data generator s behavior is defined. The child elements and properties of this part guide the test data selection methods from the domain given in the first part. The very basic element of the output element is the number of element part which specifies the number of test data to be generated. According to this value the loop counter in the test data generator is declared. The preffered output set and the exclusion set elements identify which values are wanted to be generated in the test data and which values are not. It is useful to define the domain as a range and to exclude some elements from it. For example, if 0 value is meaningless for our software we can exclude it to avoid unnecessary test executions. The mean and variance elements are defined for statistical approaches. In the generated test data set a mean or a variance value is to be reached. For the statistical ways of automatic test data generation algorithms the language can be extended by adding new attribute or element rules into the language. The Successive data element is defined mainly for string type test data. If different successive data input is required then the value must be set to false, otherwise true. This is an example of a grammatical approach for automatic test data generation. In order to include a specific test data generation algorithm, the method element is included into the test data definition language. The value of this element is the name of the algorithm to be utilized. The algorithms as given in the in-
7 XML-Based Automatic Test Data Generation 687 troductory part and others which have already been developed are very valuable in their proposed area. Thus, development of such methods from the beginning is nothing but waste of time. If we have library of such valuable methods in our test data generation part, we can take advantage of already developed and used systems. The core language rules for output element are given in Figure 3. <xsd:element name="output"> <xsd:complextype> <xsd:sequence> <xsd:element name="number_of_output" type="xsd:integer" maxoccurs="1"/> <xsd:element name="method" type="xsd:string" /> <xsd:element name="preffered_output_set" type="set" minoccurs="0" maxoccurs="1"/> <xsd:element name="exclusion_set" type="set" minoccurs="0" maxoccurs="1"/> <xsd:element ref="mean" minoccurs="0" maxoccurs="1"/> <xsd:element name="variance" type="xsd:decimal"/> <xsd:element ref="output_type" minoccurs="1" maxoccurs="1"/> <xsd:element ref="file" minoccurs="1" maxoccurs="1" /> </xsd:sequence> <xsd:attributegroup ref="successive_data"/> </xsd:complextype> </xsd:element> <xsd:attributegroup name="successive_data"> <xsd:attribute name="same_successive_data" type="xsd:boolean" use="optional"/> <xsd:attribute name="same_saccessive_data_occ" type="xsd:decimal" use="optional"/> </xsd:attributegroup> Fig. 3. Output definition rules (continued) Thelastpartofourlanguageisthe generate what element,definedinfigure4. In this part the form of the output itself is defined. There are several choices. The resulting output may be a program which is a test data generator. The result may be afunction,procedure oraunit(orall). In thiscasetheoutputisaprogramwhich can be used in other programs. It can be included in the program to be tested as well. The main goal of this part which is not implemented in this work, is supplying input data for a testing software which automatically executes the program to be tested. For such automatic testing software the input would be supplied by this function or procedure output of out test data generation system. In our work, we used existing software testing tools such as CATT [21] tool of the SAP [22] system. This system executes the program by using external input in specified file format
8 688 H. I. Bulbul, T. Bakir (either binary or text). In our test we generated the test data generator program and gave its output to SAP s CATT tool as input. <xsd:simpletype name="generate_what"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="procedure"/> <xsd:enumeration value="function"/> <xsd:enumeration value="program"/> <xsd:enumeration value="unit"/> <xsd:enumeration value="data_stream"/> </xsd:restriction> </xsd:simpletype> Fig. 4. Generate what element definition rules 2.2 XSLT Interpreter Generating Output XML is extensible, easy to write and understand. Two main features named valid and well-formed guarantee that the input stream is valid and well-formed. In our project the test data definition is written in XML format, but it does not mean that any XML stream which is well-formed is a definition of test data. AdefinitionshouldobeytherulesdefinedinXSDfile. EachXMLfilemuststartwith a line, which tells the parser that the rules of our language are defined somewhere. The meaning of this expression is I obey the language rules defined in this XSD, otherwise do not accept me. An example is given in Figure 5. <test_data xmlns=" xmlns:xsi=" xsi:schemalocation= TestDataGenerationSchema.xsd > Fig. 5. Root element test data definition Before processing the test data definition we must be sure that the given definition is a valid test data definition. To check the validity of the XML input packages developed for most of the popular programming languages and environments can be used. This is one of the main reasons which made us to select this technology. Little effort is required to write a code for XML validity assurance. In our work we used Java which is the most popular programming language today. In Figure 5, we gave the full code of the parse method which gets the XML file as input and parses it. If XML input is a valid test data definition then the parser accepts it, otherwise it fails.
9 XML-Based Automatic Test Data Generation 689 public Document parse(string xmlfileurl) { try { DocumentBuilderFactory docfactory = DocumentBuilderFactory.newInstance(); docfactory.setvalidating(true); docfactory.setnamespaceaware(true); DocumentBuilder builder = docfactory.newdocumentbuilder(); MyErrorHandler eh = new MyErrorHandler(System.out); builder.seterrorhandler(eh); Document document = builder.parse(xmlfileurl); System.out.println(document.toString()); return document; } catch(exception ex) { ex.printstacktrace(); return null; } } Fig. 6. XML validation code written in Java 2.3 An Example In order to illustrate a test data definition an example is given in Figure 7. It tells that we want to produce sixty-integer output from an integer range from 1 to In the output stream, we prefer to have 660, 350, 400, 330, 750, 200 more often. The mean value of the test data values will approximately be 600. Finally, we say that we want to have a resulting program file named TestData.pas which will produce this test data stream. We can summarize the main advantages of the test data definition based on XML technology as follows: It is easy to understand and to write. Since XML has very basic rules, it is easy to write and understand. It has a wide application area. In this work there is no specific target software or data domain. The rules are so generalized that test data for any software system can be defined. It is extensible for new needs. As a result of the nature of XML, our language is an extensible structure. Schema definition is open for new rules and extensions. It is environment-independent. Our language is not platform-dependent. That is, it is supported by any XML parser developed in any programming language, and in any operating system.
10 690 H. I. Bulbul, T. Bakir <?xml version="1.0" encoding="utf-8"?> <test_data xmlns=" xmlns:xsi=" xsi:schemalocation=" TestDataGenerationSchema.xsd "> <data_domain> <domain_type>integer</domain_type> <values> <Range> <Integer_range> <Lower_bound>1</Lower_bound> <Upper_bound>5000</Upper_bound> </Integer_range> </Range> </values> </data_domain> <output> <number_of_output>60</number_of_output> <preffered_output_set> <String_set> <integer_element>660</integer_element> <integer_element>350</integer_element> <integer_element>400</integer_element> <integer_element>330</integer_element> <integer_element>750</integer_element> <integer_element>200</integer_element> </String_set> </preffered_output_set> <mean>600</mean> <output_type> <generate_what>program</generate_what> </output_type> <file>c:/program/testdata.pas</file> </output> </test_data> Fig. 7. A simple test data definition example 3 TEST DATA GENERATION In this work, instead of generating test data directly we create a program dynamically to generate test data. The resulting program is called test data generator. The advantages are as follows: flexible, easy to maintain,
11 XML-Based Automatic Test Data Generation 691 multi programming language can be supported, the resulting test data generator can be included by other programs. There are some alternatives to generate the test data generator as explained below. One alternative is to write a program which takes the test data definition and produces the test data directly. It is not the best choice since it is hard to maintain. It would be a platform dependent solution. Supported data types can not be extended easily. The other alternative is to write a compiler-like program which takes the test data definition and produces the test data generator. This would be a better solution than thatmentioned above; but this is alsohard to extend for the new requirements. Which this solution, the programming language of the test data generator can not be changed. The solution that we decided to follow is using XSLT technology which is platform- and language-independent solution. This gave us flexibility to extend the supported data types and properties of the test data to be generated. As explained below it is easy to update for the new requirements. 4 PARSING AND TRANSFORMING XML In our project we utilized standard XML functions to create test data generator dynamically. XSLT is the best choice we found for our process. Unlike Atlas test environment [17], instead of writing a compiler we created an XSLT file which contains transformation rules. These rules can be updated via an ordinary editor to change or add new functions. This work does not depend on any programming language which is the main advantage of the utilization of XML schema transformation over the other techniques. The work flow given in Figure 8 shows how transformation is processed. Starting at the root element the XML is parsed and the output is produced according to the next sibling elements. For example, if the program finds program in the generate what element value, a PROGRAM statement is written to the output. Then the parser searches for the Data domain elements for constant and variable declarations. After building the declaration part of the target source code, the program body is built according to the output complex element. As explained in the Test Data Definition section of this article, output element is a complex element which gives keys to create the program body. The number of output, for example, defines the count of the for loop. As another example, according to the exclusion set, in target source code an exclusion set is defined and data produced in the for loop is tested whether it is in the exclusion set or not. Thus, an appropriate if statement is inserted into the target program for the exclusion set.
12 692 H. I. Bulbul, T. Bakir Fig. 8. Workflow diagram for XSLT transformation 5 SOURCE CODE GENERATION As explained above, the source code generation rules are defined in XSLT file. As seen from Figure 1, XSLT file is applied to the XML file which is the test data definition. It results in a source code named Test Data Generator. Test data generator is a program created according to the transformation rules given. We wrote a small Java program which gets XML file and XSLT file as input and test data generator as output. This code is given in Figure 9. In our work we have chosen Pascal and C programming languages for the generated source code. This does not mean that our test data generating system can generate source code in these programming languages only. We have shown that by changing XML transformation rules we easily change the test data generator programming language; no additional change is necessary to do that. This gives us language and environment independency. At any time the source code generation can be changed by changing the XML transformation rules. As an example, when the parser finds Program value in the generate what element, the Program statement is inserted into the target source code if the Pascal code is created. The same value causes public void main () statement in the target source code if the language is C. For other programming languages we can make similar changes in XSLT file to generate the source code.
13 XML-Based Automatic Test Data Generation 693 package com.gazi.project; import javax.xml.transform.transformerfactory; import javax.xml.transform.transformer; import javax.xml.transform.transformerexception; import javax.xml.transform.stream.streamsource; import javax.xml.transform.stream.streamresult; public class Transform { public Transform() { super(); } public static void main(string[] args) { String xslfile = ""; String xmlfile = ""; String outfile = ""; for(int i=0; i < args.length ; i++) { if(args[i].equalsignorecase("xslfile")) xslfile = args[++i] ; if(args[i].equalsignorecase("xmlfile")) xmlfile = args[++i] ; } GaziParserDom domparser = new GaziParserDom(); outfile = domparser.search(xmlfile,"file"); TransformerFactory factory = TransformerFactory.newInstance(); try { System.out.println("Transforming Information..."); Transformer transformer_info = factory.newtransformer(new StreamSource(xslFile)); transformer_info.transform(new StreamSource(xmlFile), new StreamResult(outFile)); System.out.println("Automatic test data genration "+ "program completed."); System.out.println(outFile + "Created"); } catch (TransformerException e) { e.printstacktrace(); } } } Fig. 9. The Java code that parses XML and creates the test data generator 6 EXPERIMENTAL WORK In this work we made experimental work for different use cases. Here we give a simple example that shows how this system is used in real life. The given problem is to test an SAP (The most popular ERP software) [22] module which creates the accountancy record. The required data to test this module include the reference number, amount, currency and cost center. The reference number should be a string in the range of 7411RF and 7411RF The amount is a decimal number between 10 and Currency should be selected from
14 694 H. I. Bulbul, T. Bakir <?xml version="1.0" encoding="utf-8"?> <test_data xmlns=" xmlns:xsi=" xsi:schemalocation= " TestDataGenerationSchema.xsd"> <data_domain> <domain_type>string</domain_type> <values> <Range> <String_range> <Lower_bound>7411RF </Lower_bound> <Upper_bound>7411RF </Upper_bound> </String_range> </Range> </values> <domain_type>decimal</domain_type> <values> <Range> <Decimal_range> <Lower_bound>10.00</Lower_bound> <Upper_bound> </Upper_bound> </Decimal_range> </Range> </values> <domain_type>string</domain_type> <values> <domain_set> <String_set> <string_element>trl</string_element> <string_element>eur</string_element> <string_element>usd</string_element> </String_set> </domain_set> </values> <domain_type>string</domain_type> <values> <domain_set> <String_set> <string_element>c151</string_element> <string_element>c152</string_element> <string_element>c153</string_element> <string_element>a110</string_element> <string_element>c160</string_element> <string_element>f512</string_element> </String_set> </domain_set> </values> </data_domain> <output same_successive_data="true"> <number_of_output>8</number_of_output> <method>random_string</method> <output_type name="generatetestdata"> <generate_what>program</generate_what> </output_type> <file>d:/wsad_ws/test Data Generation/Test_XMLs/testdata.pas</file> </output> </test_data> Fig. 10. Test data definition as an example
15 XML-Based Automatic Test Data Generation PG ,05 EUR C PG ,32 EUR F PG ,46 EUR C PG ,4 EUR C PG ,8 EUR C PG ,2 EUR F PG ,49 EUR C PG EUR C151 Fig. 11. Output of the test data generator Fig. 12. Application of the generated test data to the module to be tested
16 696 H. I. Bulbul, T. Bakir the set of strings which is equal to the set { TRL, EUR, USD }. Finally, the cost center is selected from the string set { C151, C152, C153, A110, C160, F512 }. We have a module in SAP which reads all required data from a text file and executes the accountancy record creating the module. Our test data generator which is created automatically from the definition of the test data creates a text file which consists of an automatically generated data set. The output of this generator are given as input to the module to be tested. Test data definition, generated test data, and applied module are given in Figures CONCLUSION AND FUTURE WORK In this article we presented automatic test data generation based on the XML test data definition. We defined an XML-based language called Test Data Definition Language which identifies the test data to be produced. We also defined a set of transformation rules used in source code generation. In this work not all the properties that would be needed are defined. Since there is no hard coded program, it is open for development. If there are new needs they will be identified easily. Test data definition language can be developed by new requirements. Similarly to test data definition language, transformation rules are also open for development. Since XSLT does not provide functions for date type values, additional work should be performed to handle test date in date type. In this work we tried to define transformation rules for Pascal and C languages. As we explained in this article it can be any programming language. REFERENCES [1] Keyes, J.: Software Engineering Handbook. CRC Press LLC, [2] Beizer, B.: Software Testing Techniques. Thomson Computer Press, 2 nd edition, [3] Edvardsoson, J.: A Survey on Automatic Test Data Generation. Proceedings of the Second Conference on Computer Science and Engineering in Linköping, 1999, Vol [4] Transy, N. Deville, Y.: Automatic Test Data Generation for Programs with Integer and Float Variables. Proceedings of the Automated Software Engineering Conference, IEEE Computer Society, San Diego, 2001, pp [5] Miller, W. Spooner, D.: Automatic Generation of Floating-Point Test Data. IEEE Transactions on Software Engineering, SE-2, Vol. 3: September 1976, pp [6] Korel, B.: Automated Software Test Data Generation. IEEE Transactions on Software Engineering, Vol. 16, 1990, No. 8, pp
17 XML-Based Automatic Test Data Generation 697 [7] Jones, B. F. Sthamer, H. H. Eyres, D. E.: Generating Test-Data for Ada Procedures Using Genetic Algorithms. In Genetic Algorithms in Engineering Systems: Innovations and Applications. IEEE, September 1995, pp [8] Ryu, S. Yi, K.: Automatic Test Data Generation for Exceptions in First-Order ML Programs. Research On Program Analysis System, ROPAS Memo , November [9] Boyapati, C. Khurshid, S. Marinov, D.: Korat: Automated Testing Based on Java Predicates. ACM International Symposium on Software Testing and Analysis (ISSTA), July [10] Watkins, A. L.: The Automatic Generation of Test Data Using Genetic Algorithms. Proceedings of the 4 th Software Quality Conference, Vol. 2, 1995, pp [11] Pargas, R. Harrold, M. J. Peck, R.: Test-Data Generation Using Genetic Algorithms. Journal of Software Testing, Verifications, and Reliability, Vol. 9, 1999, pp [12] Offutt, A. J. Jin, Z. Pan, J.: The Dynamic Domain Reduction Procedure for Test Data Generation. Department of Information and Software Engineering George Mason University Technical Reports, 1994, ISSE-TR-94, pp [13] Maurer, P. M.: The Design and Implementation of a Grammar-based Data Generator. IEEE Software-Practice and Experience. Vol. 22, 1992, No. 3, pp [14] Maurer, P. M.: Generating Test Data with Enhanced Context Free Grammars. IEEE Software, Vol. 7, 1990, No. 4, pp [15] Bray, T. Paoli, J. Sperberg, C. M.: Extensible Markup Language (XML) 1.0. W3C Recommendation, 10 February REC-xml [16] Berglund, A.: Extensible Stylesheet Language (XSL). Version 1.1, W3C Working Draft, 17 December [17] Chen, C. Lee, J. K.: Case Study: An Infrastructure for C/ATLAS Environment with Object-Oriented Design and XML Representation. Journal of System and Software, Vol. 71, 2004, No. 1 2, pp [18] Clark, J.: XSL Transformations (XSLT). Version 1.0, W3C Recommendation, November 16, 1999, [19] DeMillo, I.: A Richard, Software Testing and Evaluation. The Benjamin/Cummings Publishing Company, Inc., 1987, pp [20] Fallside, D. C. Walmsley, P.: XML Schema Part 0: Primer Second Edition. W3C Recommendation, 28 October 2004, REC-xmlschema /. [21] [22]
18 698 H. I. Bulbul, T. Bakir Halil Ibrahim ÙÐ ÙÐreceived his Ph.D. degree in educational technology from Ankara University, Ankara, Turkey, and his M. Sc. degree in technology education from California University (PA), U.S.A., in 1997 and 1990, respectively, and his B.Sc. degree in technology education from Gazi University, Ankara, Turkey, in He has been an Assistant Professor of Computer Education Department, Gazi University, Ankara, Turkey, since His research interests include educational technologies, e-learning, distance education, educational software design, and database management systems. Turgut Öreceived B.Sc. degree in computer engineering from Middle East Technical University, Ankara, Turkey, and his M. Sc. degree in computer education from Gazi University Ankara, Turkey, in He is currently working for Siemens Turkey as SAP specialist and software engineer. His research interests include automated software testing, dynamic program generation, and ERP systems.
XML Schema Definition Language (XSDL)
Chapter 4 XML Schema Definition Language (XSDL) Peter Wood (BBK) XML Data Management 80 / 227 XML Schema XML Schema is a W3C Recommendation XML Schema Part 0: Primer XML Schema Part 1: Structures XML Schema
An XML Based Data Exchange Model for Power System Studies
ARI The Bulletin of the Istanbul Technical University VOLUME 54, NUMBER 2 Communicated by Sondan Durukanoğlu Feyiz An XML Based Data Exchange Model for Power System Studies Hasan Dağ Department of Electrical
Managing XML Documents Versions and Upgrades with XSLT
Managing XML Documents Versions and Upgrades with XSLT Vadim Zaliva, [email protected] 2001 Abstract This paper describes mechanism for versioning and upgrding XML configuration files used in FWBuilder
04 XML Schemas. Software Technology 2. MSc in Communication Sciences 2009-10 Program in Technologies for Human Communication Davide Eynard
MSc in Communication Sciences 2009-10 Program in Technologies for Human Communication Davide Eynard Software Technology 2 04 XML Schemas 2 XML: recap and evaluation During last lesson we saw the basics
XML Based Customizable Screen. Rev 1.1
XML Based Customizable Screen Rev 1.1 August 10, 2006 1. Introduction Starting from release version 1.0.2.X, GXP-2000 supports the idle screen customization. The designs of the displayed information and
Introduction to XML Applications
EMC White Paper Introduction to XML Applications Umair Nauman Abstract: This document provides an overview of XML Applications. This is not a comprehensive guide to XML Applications and is intended for
Introduction to XML. Data Integration. Structure in Data Representation. Yanlei Diao UMass Amherst Nov 15, 2007
Introduction to XML Yanlei Diao UMass Amherst Nov 15, 2007 Slides Courtesy of Ramakrishnan & Gehrke, Dan Suciu, Zack Ives and Gerome Miklau. 1 Structure in Data Representation Relational data is highly
Java and XML parsing. EH2745 Lecture #8 Spring 2015. [email protected]
Java and XML parsing EH2745 Lecture #8 Spring 2015 [email protected] Lecture Outline Quick Review The XML language Parsing Files in Java Quick Review We have in the first set of Lectures covered the basics
Overview of DatadiagramML
Overview of DatadiagramML Microsoft Corporation March 2004 Applies to: Microsoft Office Visio 2003 Summary: This document describes the elements in the DatadiagramML Schema that are important to document
CSCI 3136 Principles of Programming Languages
CSCI 3136 Principles of Programming Languages Faculty of Computer Science Dalhousie University Winter 2013 CSCI 3136 Principles of Programming Languages Faculty of Computer Science Dalhousie University
Rotorcraft Health Management System (RHMS)
AIAC-11 Eleventh Australian International Aerospace Congress Rotorcraft Health Management System (RHMS) Robab Safa-Bakhsh 1, Dmitry Cherkassky 2 1 The Boeing Company, Phantom Works Philadelphia Center
Languages for Data Integration of Semi- Structured Data II XML Schema, Dom/SAX. Recuperación de Información 2007 Lecture 3.
Languages for Data Integration of Semi- Structured Data II XML Schema, Dom/SAX Recuperación de Información 2007 Lecture 3. Overview XML-schema, a powerful alternative to DTDs XML APIs: DOM, a data-object
Data Integration through XML/XSLT. Presenter: Xin Gu
Data Integration through XML/XSLT Presenter: Xin Gu q7.jar op.xsl goalmodel.q7 goalmodel.xml q7.xsl help, hurt GUI +, -, ++, -- goalmodel.op.xml merge.xsl goalmodel.input.xml profile.xml Goal model configurator
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
VIRTUAL LABORATORY: MULTI-STYLE CODE EDITOR
VIRTUAL LABORATORY: MULTI-STYLE CODE EDITOR Andrey V.Lyamin, State University of IT, Mechanics and Optics St. Petersburg, Russia Oleg E.Vashenkov, State University of IT, Mechanics and Optics, St.Petersburg,
Concrete uses of XML in software development and data analysis.
Concrete uses of XML in software development and data analysis. S. Patton LBNL, Berkeley, CA 94720, USA XML is now becoming an industry standard for data description and exchange. Despite this there are
How To Write A Technical Interoperability Standard For Spain
TECHNICAL INTEROPERABILITY STANDARD For E-Files. GOBIERNO DE ESPAÑA MINISTERIO DE HACIENDA Y ADMINISTRACIONES PÚBLICAS SECRETARÍA DE ESTADO DE ADMINISTRACIONES PÚBLICAS DIRECCIÓN GENERAL DE MODERNIZACIÓN
XML for RPG Programmers: An Introduction
XML for RPG Programmers: An Introduction OCEAN Technical Conference Catch the Wave Susan M. Gantner susan.gantner @ partner400.com www.partner400.com Your partner in AS/400 and iseries Education Copyright
Parallels Operations Automation 5.4
Parallels Operations Automation 5.4 Migration Manager Developer's Guide Revision 5.8 (May 15, 2012) Copyright 1999-2012 Parallels IP Holdings GmbH and its affiliates. All rights reserved. Parallels IP
<?xml version="1.0" encoding="utf-8"?> <xsd:schema xmlns:niso="http://www.niso.org/pdfs/datadict.pdf"
XML Processing and Web Services. Chapter 17
XML Processing and Web Services Chapter 17 Textbook to be published by Pearson Ed 2015 in early Pearson 2014 Fundamentals of http://www.funwebdev.com Web Development Objectives 1 XML Overview 2 XML Processing
XML- New meta language in e-business
1 XML- New meta language in e-business XML (extensible Markup Language) has established itself as a new meta language in e-business. No matter what, text, pictures, video- or audio files - with the flexibility
DTD Tutorial. About the tutorial. Tutorial
About the tutorial Tutorial Simply Easy Learning 2 About the tutorial DTD Tutorial XML Document Type Declaration commonly known as DTD is a way to describe precisely the XML language. DTDs check the validity
XML and Data Management
XML and Data Management XML standards XML DTD, XML Schema DOM, SAX, XPath XSL XQuery,... Databases and Information Systems 1 - WS 2005 / 06 - Prof. Dr. Stefan Böttcher XML / 1 Overview of internet technologies
International Journal of Emerging Technologies in Computational and Applied Sciences (IJETCAS) www.iasir.net
International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research) International Journal of Emerging Technologies in Computational
estatistik.core: COLLECTING RAW DATA FROM ERP SYSTEMS
WP. 2 ENGLISH ONLY UNITED NATIONS STATISTICAL COMMISSION and ECONOMIC COMMISSION FOR EUROPE CONFERENCE OF EUROPEAN STATISTICIANS Work Session on Statistical Data Editing (Bonn, Germany, 25-27 September
Genetic Algorithm Based Test Data Generator
Genetic Algorithm Based Test Data Generator Irman Hermadi Department of Information and Computer Science King Fahd University of Petroleum & Minerals KFUPM Box # 868, Dhahran 31261, Saudi Arabia [email protected]
10CS73:Web Programming
10CS73:Web Programming Question Bank Fundamentals of Web: 1.What is WWW? 2. What are domain names? Explain domain name conversion with diagram 3.What are the difference between web browser and web server
Java Application Developer Certificate Program Competencies
Java Application Developer Certificate Program Competencies After completing the following units, you will be able to: Basic Programming Logic Explain the steps involved in the program development cycle
Scoping (Readings 7.1,7.4,7.6) Parameter passing methods (7.5) Building symbol tables (7.6)
Semantic Analysis Scoping (Readings 7.1,7.4,7.6) Static Dynamic Parameter passing methods (7.5) Building symbol tables (7.6) How to use them to find multiply-declared and undeclared variables Type checking
Ontology and automatic code generation on modeling and simulation
Ontology and automatic code generation on modeling and simulation Youcef Gheraibia Computing Department University Md Messadia Souk Ahras, 41000, Algeria [email protected] Abdelhabib Bourouis
Extensible Markup Language (XML): Essentials for Climatologists
Extensible Markup Language (XML): Essentials for Climatologists Alexander V. Besprozvannykh CCl OPAG 1 Implementation/Coordination Team The purpose of this material is to give basic knowledge about XML
C Compiler Targeting the Java Virtual Machine
C Compiler Targeting the Java Virtual Machine Jack Pien Senior Honors Thesis (Advisor: Javed A. Aslam) Dartmouth College Computer Science Technical Report PCS-TR98-334 May 30, 1998 Abstract One of the
An Approach to Eliminate Semantic Heterogenity Using Ontologies in Enterprise Data Integeration
Proceedings of Student-Faculty Research Day, CSIS, Pace University, May 3 rd, 2013 An Approach to Eliminate Semantic Heterogenity Using Ontologies in Enterprise Data Integeration Srinivasan Shanmugam and
II. PREVIOUS RELATED WORK
An extended rule framework for web forms: adding to metadata with custom rules to control appearance Atia M. Albhbah and Mick J. Ridley Abstract This paper proposes the use of rules that involve code to
Towards a Framework for Generating Tests to Satisfy Complex Code Coverage in Java Pathfinder
Towards a Framework for Generating Tests to Satisfy Complex Code Coverage in Java Pathfinder Matt Department of Computer Science and Engineering University of Minnesota [email protected] Abstract We present
Comparing Algorithms for Search-Based Test Data Generation of Matlab R Simulink R Models
Comparing Algorithms for Search-Based Test Data Generation of Matlab R Simulink R Models Kamran Ghani, John A. Clark and Yuan Zhan Abstract Search Based Software Engineering (SBSE) is an evolving field
How To Create A Data Transformation And Data Visualization Tool In Java (Xslt) (Programming) (Data Visualization) (Business Process) (Code) (Powerpoint) (Scripting) (Xsv) (Mapper) (
A Generic, Light Weight, Pluggable Data Transformation and Visualization Tool for XML to XML Transformation Rahil A. Khera 1, P. S. Game 2 1,2 Pune Institute of Computer Technology, Affiliated to SPPU,
Towards a Framework for Differential Unit Testing of Object-Oriented Programs
Towards a Framework for Differential Unit Testing of Object-Oriented Programs Tao Xie 1 Kunal Taneja 1 Shreyas Kale 1 Darko Marinov 2 1 Department of Computer Science, North Carolina State University,
Clarifying a vision on certification of MDA tools
SCIENTIFIC PAPERS, UNIVERSITY OF LATVIA, 2010. Vol. 757 COMPUTER SCIENCE AND INFORMATION TECHNOLOGIES 23 29 P. Clarifying a vision on certification of MDA tools Antons Cernickins Riga Technical University,
SQLMutation: A tool to generate mutants of SQL database queries
SQLMutation: A tool to generate mutants of SQL database queries Javier Tuya, Mª José Suárez-Cabal, Claudio de la Riva University of Oviedo (SPAIN) {tuya cabal claudio} @ uniovi.es Abstract We present a
EHR-IIS Interoperability Enhancement Project. Transport Layer Protocol Recommendation Formal Specification. Version 1.
EHR-IIS Interoperability Enhancement Project Transport Layer Protocol Recommendation Formal Specification Version 1.1 June 4, 2014 Transport Layer Expert Panel EHR-IIS Interoperability Enhancement Project
Allegato XML flusso richieste di produzione
Allegato XML flusso richieste di produzione -
CS 2112 Spring 2014. 0 Instructions. Assignment 3 Data Structures and Web Filtering. 0.1 Grading. 0.2 Partners. 0.3 Restrictions
CS 2112 Spring 2014 Assignment 3 Data Structures and Web Filtering Due: March 4, 2014 11:59 PM Implementing spam blacklists and web filters requires matching candidate domain names and URLs very rapidly
A Tool for Generating Relational Database Schema from EER Diagram
A Tool for Generating Relational Schema from EER Diagram Lisa Simasatitkul and Taratip Suwannasart Abstract design is an important activity in software development. EER diagram is one of diagrams, which
Quiz! Database Indexes. Index. Quiz! Disc and main memory. Quiz! How costly is this operation (naive solution)?
Database Indexes How costly is this operation (naive solution)? course per weekday hour room TDA356 2 VR Monday 13:15 TDA356 2 VR Thursday 08:00 TDA356 4 HB1 Tuesday 08:00 TDA356 4 HB1 Friday 13:15 TIN090
DRAFT. Standard Definition. Extensible Event Stream. Christian W. Günther Fluxicon Process Laboratories [email protected]
Extensible Event Stream Standard Definition Christian W. Günther Fluxicon Process Laboratories [email protected] XES Version: 1.0 Revision: 1 November 25, 2009 DRAFT Introduction Event logs, as they
Zoomer: An Automated Web Application Change Localization Tool
Journal of Communication and Computer 9 (2012) 913-919 D DAVID PUBLISHING Zoomer: An Automated Web Application Change Localization Tool Wenhua Wang 1 and Yu Lei 2 1. Marin Software Company, San Francisco,
A MEDIATION LAYER FOR HETEROGENEOUS XML SCHEMAS
A MEDIATION LAYER FOR HETEROGENEOUS XML SCHEMAS Abdelsalam Almarimi 1, Jaroslav Pokorny 2 Abstract This paper describes an approach for mediation of heterogeneous XML schemas. Such an approach is proposed
GAME: A Generic Automated Marking Environment for Programming Assessment
GAME: A Generic Automated Marking Environment for Programming Assessment Michael Blumenstein, Steve Green, Ann Nguyen and Vallipuram Muthukkumarasamy School of Information Technology, Griffith University
Traceability Method for Software Engineering Documentation
www.ijcsi.org 216 Traceability Method for Software Engineering Documentation Nur Adila Azram 1 and Rodziah Atan 2 1 Department of Information System, Universiti Putra Malaysia, Company Serdang, Selangor,
CHAPTER 1 INTRODUCTION
CHAPTER 1 INTRODUCTION 1.1 Introduction Nowadays, with the rapid development of the Internet, distance education and e- learning programs are becoming more vital in educational world. E-learning alternatives
Chapter 3: XML Namespaces
3. XML Namespaces 3-1 Chapter 3: XML Namespaces References: Tim Bray, Dave Hollander, Andrew Layman: Namespaces in XML. W3C Recommendation, World Wide Web Consortium, Jan 14, 1999. [http://www.w3.org/tr/1999/rec-xml-names-19990114],
Moving from CS 61A Scheme to CS 61B Java
Moving from CS 61A Scheme to CS 61B Java Introduction Java is an object-oriented language. This document describes some of the differences between object-oriented programming in Scheme (which we hope you
Authoring Within a Content Management System. The Content Management Story
Authoring Within a Content Management System The Content Management Story Learning Goals Understand the roots of content management Define the concept of content Describe what a content management system
ONTOLOGY-BASED MULTIMEDIA AUTHORING AND INTERFACING TOOLS 3 rd Hellenic Conference on Artificial Intelligence, Samos, Greece, 5-8 May 2004
ONTOLOGY-BASED MULTIMEDIA AUTHORING AND INTERFACING TOOLS 3 rd Hellenic Conference on Artificial Intelligence, Samos, Greece, 5-8 May 2004 By Aristomenis Macris (e-mail: [email protected]), University of
Proceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010)
Electronic Communications of the EASST Volume 34 (2010) Proceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010) Position Paper: m2n A Tool for Translating
XML & Databases. Tutorial. 2. Parsing XML. Universität Konstanz. Database & Information Systems Group Prof. Marc H. Scholl
XML & Databases Tutorial Christian Grün, Database & Information Systems Group University of, Winter 2007/08 DOM Document Object Model Idea mapping the whole XML document to main memory The XML Processor
Open Source VoiceXML Interpreter over Asterisk for Use in IVR Applications
Open Source VoiceXML Interpreter over Asterisk for Use in IVR Applications Lerato Lerato, Maletšabisa Molapo and Lehlohonolo Khoase Dept. of Maths and Computer Science, National University of Lesotho Roma
XBRL Processor Interstage XWand and Its Application Programs
XBRL Processor Interstage XWand and Its Application Programs V Toshimitsu Suzuki (Manuscript received December 1, 2003) Interstage XWand is a middleware for Extensible Business Reporting Language (XBRL)
Web-based Multimedia Content Management System for Effective News Personalization on Interactive Broadcasting
Web-based Multimedia Content Management System for Effective News Personalization on Interactive Broadcasting S.N.CHEONG AZHAR K.M. M. HANMANDLU Faculty Of Engineering, Multimedia University, Jalan Multimedia,
Semistructured data and XML. Institutt for Informatikk INF3100 09.04.2013 Ahmet Soylu
Semistructured data and XML Institutt for Informatikk 1 Unstructured, Structured and Semistructured data Unstructured data e.g., text documents Structured data: data with a rigid and fixed data format
Exercises: XSD, XPath Basi di da4 2
Exercises: XSD, XPath Basi di da4 2 Disheng Qiu [email protected] Luca Rossi [email protected] Hints: Use a validator XSD Eclipse has a plugin for XML/XSD/DTD valida4on W3C Validator: hmp://www.w3.org/2001/03/webdata/xsv
The C Programming Language course syllabus associate level
TECHNOLOGIES The C Programming Language course syllabus associate level Course description The course fully covers the basics of programming in the C programming language and demonstrates fundamental programming
NASSI-SCHNEIDERMAN DIAGRAM IN HTML BASED ON AML
Volume 6, Number 3, 2013 NASSI-SCHNEIDERMAN DIAGRAM IN HTML BASED ON AML László Menyhárt Abstract: In an earlier work I defined an extension of XML called Algorithm Markup Language (AML) for easy and understandable
Proceedings of the International MultiConference of Engineers and Computer Scientists 2013 Vol I, IMECS 2013, March 13-15, 2013, Hong Kong
, March 13-15, 2013, Hong Kong Risk Assessment for Relational Database Schema-based Constraint Using Machine Diagram Kanjana Eiamsaard 1, Nakornthip Prompoon 2 Abstract Information is a critical asset
Natural Language to Relational Query by Using Parsing Compiler
Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology IJCSMC, Vol. 4, Issue. 3, March 2015,
Chapter 15 Working with Web Services
Section 3 Chapter 15: Working with Web Services 225 Chapter 15 Working with Web Services The next generation of Web applications involves the use of Web Services. Visual FoxPro 7 s new built-in XML capabilities
Visualization of GML data using XSLT.
Visualization of GML data using XSLT. W.T.M.S.B.Tennakoon February, 2003 Visualization of GML data using XSLT. by W.T.M.S.B.Tennakoon Thesis submitted to the International Institute for Geo-information
INTEGRATING WEB SERVICES INTO A WEB-BASED COLLEGE ADMISSION PORTAL SYSTEM
INTEGRATING WEB SERVICES INTO A WEB-BASED COLLEGE ADMISSION PORTAL SYSTEM Dr. Billy Lim, Yan Sun School of Information Technology Illinois State University Normal, IL 61790-5150, USA [email protected], [email protected]
Java CPD (I) Frans Coenen Department of Computer Science
Java CPD (I) Frans Coenen Department of Computer Science Content Session 1, 12:45-14:30 (First Java Programme, Inheritance, Arithmetic) Session 2, 14:45-16:45 (Input and Programme Constructs) Materials
Building the Tower of Babel: Converting XML Documents to VoiceXML for Accessibility 1
Building the Tower of Babel: Converting XML Documents to VoiceXML for Accessibility 1 G. Gupta, O. El Khatib, M. F. Noamany, H. Guo Laboratory for Logic, Databases, and Advanced Programming Department
Java 7 Recipes. Freddy Guime. vk» (,\['«** g!p#« Carl Dea. Josh Juneau. John O'Conner
1 vk» Java 7 Recipes (,\['«** - < g!p#«josh Juneau Carl Dea Freddy Guime John O'Conner Contents J Contents at a Glance About the Authors About the Technical Reviewers Acknowledgments Introduction iv xvi
Syntax Check of Embedded SQL in C++ with Proto
Proceedings of the 8 th International Conference on Applied Informatics Eger, Hungary, January 27 30, 2010. Vol. 2. pp. 383 390. Syntax Check of Embedded SQL in C++ with Proto Zalán Szűgyi, Zoltán Porkoláb
Firewall Builder Architecture Overview
Firewall Builder Architecture Overview Vadim Zaliva Vadim Kurland Abstract This document gives brief, high level overview of existing Firewall Builder architecture.
CST6445: Web Services Development with Java and XML Lesson 1 Introduction To Web Services 1995 2008 Skilltop Technology Limited. All rights reserved.
CST6445: Web Services Development with Java and XML Lesson 1 Introduction To Web Services 1995 2008 Skilltop Technology Limited. All rights reserved. Opening Night Course Overview Perspective Business
Terms and Definitions for CMS Administrators, Architects, and Developers
Sitecore CMS 6 Glossary Rev. 081028 Sitecore CMS 6 Glossary Terms and Definitions for CMS Administrators, Architects, and Developers Table of Contents Chapter 1 Introduction... 3 1.1 Glossary... 4 Page
XML: extensible Markup Language. Anabel Fraga
XML: extensible Markup Language Anabel Fraga Table of Contents Historic Introduction XML vs. HTML XML Characteristics HTML Document XML Document XML General Rules Well Formed and Valid Documents Elements
Representation of E-documents in AIDA Project
Representation of E-documents in AIDA Project Diana Berbecaru Marius Marian Dip. di Automatica e Informatica Politecnico di Torino Corso Duca degli Abruzzi 24, 10129 Torino, Italy Abstract Initially developed
