Knowledge-based Software Test Generation
|
|
|
- Jocelin Cobb
- 10 years ago
- Views:
Transcription
1 Knowledge-based Software Test Valeh H. Nasser, Weichang Du, Dawn MacIsaac Faculty of Computer Science, University of New Brunswick Fredericton, NB, Canada {valeh.h, wdu, Abstract Enriching test oracles with a test expert s mental model of error prone aspects of software, and granting control to them to specify custom coverage criteria and arbitrary test cases, can potentially improve the quality of automatically generated test suites. This paper reports our investigation on the application of knowledge engineering techniques in automated software testing to increase the the control of test experts on test generation; ontologies and rules are used to specify what needs to be tested and reasoning is used for identification of test objectives, for which test cases are generated. An architecture of the ontology-based Identification approach to testing is presented and a prototype of test objectives which is implemented of test cases for unit testing is described with a case study. Specification of what needs to be tested 1. Introduction coverage criteria: 1- error based testing 2- fault based testing 3- structural testing Explicit identification by a test expert graph traversal model checker 1- Graph Traversal Algorithms 2- AI planning 3- Model Checking Granting control to a test expert to utilize their knowledge about error-prone aspects of software and specify what needs to be tested, can result in generation of a smaller yet error-revealing test suite. At the current stage of the research we are focusing on modelbased testing, but the proposed knowledge based approach can be generalized and applied to white-box and black-box software testing. 2- sopecifcation with a language like GOTCHA and use of 3- Linear Time Logic Properties for Model Checkers 4- Rules which are implicit in agorithms Specification of what needs to be tested Identification of test objectives of test cases Figure 1. Three Concerns of Test There are three concerns in test generation (Figure 1): specification of what needs to be tested, identification of Test Objectives (TOs) based on the specification, and generation of test cases for the identified TOs. These three aspects can be tightly coupled. The specification of what needs to be tested is addressed by definition of test oracles and Coverage Criteria (CC), which specify the correct behavior of the software and requirements on the generated test suite [21] respectively. This aspect of software testing is crucial, because it determines the quality of the generated test suite. Zhu et al. [21] categorize CC as structural, which specify what elements of software should be tested (such as All Transition Pair coverage [14]), fault-based, which uses some measurement of faultdetecting ability of the test suite (such as mutationbased methods [16]), and error-based, which is based on error-prone aspects of software (such as boundary testing [12]). The second aspect of software testing is identification of test-objectives based on the specification of what needs to be tested. A test-objective delineates a single test case, and is identified with an algorithm. This concern can be tightly coupled with the first concern, because the identification algorithm can be tightly coupled with the specification of what needs to be tested. There are several approaches to identification of TOs: Explicit identification of TOs by a test expert [11]; the use of identification algorithms with the rules implicitly built into them [14]; provision of a language for defining CC rules and use of identification algorithms that rely on the specification language [8]; and translating CC into temporal logic and have a model checker to identify TOs [18]. The third concern in automated test generation is generation of test cases for the identified TOs. The test cases are generated based on a test oracle with several approaches: One approach is to use graph traversal algorithms [14, 4]. Another approach is using modelchecking tools for test-case generation [19]. With this approach it is asserted that there is no path with the required specification in the model. The model checker tries to find the required path and returns it as an. A third approach is using AI planners to generate test-cases [16]. AI Planners are used to generate paths
2 to reach identified goals. Test oracles and CC are used for specification of what needs to e tested. The knowledge that is conveyed by test oracles can be at different levels of abstraction (i.e. code, design, or requirements [15]). An issue with abstraction is that poor abstraction can be a barrier to generating high quality test suites [5], if it removes the knowledge essential for specification of error-prone test cases. To solve this, Benz [5] demonstrates how abstraction of error-prone aspects of software can enhance test-case generation by defining system-specific CC. The error-prone aspects, which are also used in Risk Based Testing [1] are software elements that are more likely to produce an error and can be domain specific (such as concurrent methods, database replications, network connection), from general test guidelines and experience (such as boundary values), or system specific and revealed in interactions of testers with developers and designers (such as use of an unreliable library). Granting control to test experts to extend a test oracle with knowledge about error-prone aspects of the system and specify custom CC rules can increase the control of the test-expert on the automated test generation and, therefore, potentially enhance the quality of the generated test-suite. To exploit a test expert s knowledge in automated test generation, the first two concerns of test case generation, i.e. specification of what needs to be tested and identification of TOs need to be decoupled. The decoupling makes the test oracle extensible and enables it to support specification of arbitrary test cases, implementation knowledge, invariants on model elements, distinguished states [17], and knowledge about errorprone aspect of the system. Also the system should support standard CC which are accepted in literature, as well as additional CC rules which are based on test experts mental model. In this work knowledge engineering techniques is used to decouple the specification of what needs to be tested and the identification algorithm of TOs and, therefore, enable a test expert to enrich the test oracle and specify custom CC accordingly. To achieve this, the test oracle and expert knowledge (EK) are represented in ontologies, which are connected together. The common CC rules and expert defined CC rules are used to specify what needs to be tested. Reasoning is used to identify the TOs. Then the test cases are generated for the identified TOs using model checking, AI planning, or graph traversal algorithms. The rest of this paper is organized as follows. Section 2 describes how knowledge based approach is used to deal with the three aspects of software testing. Section 3 describes an implementation for unit testing based on the UML State Machines (SMs). Section 4 illustrates a concrete example of unit test generation and specification of arbitrary expert knowledge. Section 5 concludes the paper. 2. Ontology based Approach Our proposed ontology based approach to software test generation focuses on separation of the three concerns of test case generation as follows. Specification of What Needs To Be Tested The knowledge that is used in specification of what needs to be tested is externalized in ontologies and rules. An extensible ontology based test oracle is connected to an expert s mental model. The mental model ontology is expert defined and can include knowledge about implementation, error-prone aspects, etc. Based on the vocabulary defined by the ontologies, CC rules, which are either standard or expert defined, are specified. CC rules are in the form shown below. The TO selection criteria specify a condition that should hold on some elements for them to be a part of structure of a test case. TO :- TO selection criteria The TOs are specified using the structural properties of corresponding test cases, which directly or indirectly make them candidates as TOs. For instance, in unit testing based on the UML SMs, a TO can specify that transition tr 1 of the SM should be traversed immediately after transition tr 2 is traversed. This TO can be directly required because every possible sequence of two transitions is required to be covered. This sequence can be indirectly required because the two transitions have a definition-use relationship [20], which is required to be tested. Identification of TOs Reasoning on the test oracle and CC rules is used to identify test-objectives. Also, before a test case is generated for an identified TO, it is determined whether a test-case that satisfies the TO already exists in the test suite. This is done by reasoning on the partially-generated test suite, which is represented in an ontology. This approach reduces the number of redundant test cases. To this end, redundancy checking rules for a given TO need to be generated. of Test Cases A test-case for a given TO is generated using a test-case generation method such as AI planning, graph traversal, model checking,
3 <Rules> State machine Action Language Expert Standard State and Machine Expert Behavioral Model Expert-Defined Knowledge {state variables, actions, guards} Knowledge Model Coverage Criteria and state machine structure a t Test Objective ctive & Redundancy Checking ancy Checking Initialization <Reasoner> Initialization easoner> Test Objective t Objective eneration Test Objective Selected Test Objectives Test Objective Selected Test Objectives Ontology <Reasoner> easoner> Ontology Redundancy Checker Checker y t Rule Templates <POSL> Standard and Expert-Defined Coverage Criteria <OWL-DL> <POSL> <OWL-DL> <OWL-DL> State machine <OWL-DL> Action Language State machine Action Language Standard and Expert State Machine Expert State Machine {state variables, actions, guards} Expert-Defined {state variables, actions, guards} Knowledge Model Knowledge Model Coverage Criteria and state machine structure and state machine structure Test Objective Test Objective & Redundancy Checking & Redundancy Checking Action Action PDDL PDDL Language Language Constructor Compiler Constructor Test Objective OWLtoPOSL Compiler PDDL Test Objective OWLtoPOSL <planner> Test Objectives Selected PDDL <planner> Testcase Test Objectives Selected Test Objectives Testcase Test Objectives OWL-DL Checker OWL-DL Writer Checker OWLtoPOSL Writer Rule Templates OWLtoPOSL Rule <OWL-DL> Templates <OWL-DL> JUnit Test Suite JUnit JUnit JUnit <OWL-DL> <OWL-DL> Figure 2. Ontology-based Test etc. and written in a programming language independent test-suite ontology. The executable test cases are then generated from the test suite ontology, using a programming language dependent implementation knowledge ontology. The implementation knowledge ontology, which can be reverse engineered from the source code and connected to the model ontology, conveys information such as name of implemented methods, state variable setters and getters, etc. Figure 2 shows the architecture of the system which has two main processes: TO and Redundancy Checking and Test Case. The TO and Redundancy Checking is implemented using two reasoners. One reasoner is used to generate TOs from test oracle ontology which is connected to expert knowledge ontology, and CC rules. The other reasoner uses the redundancy checking rules and the test suite ontology which is generated so far to check whether a given test-objective is already satisfied in the test-suite or not. If it is not, the TO is accepted, otherwise it is discarded. If the TO is accepted, then a test case is generated for it and added to the test suite ontology. Then the redundancy checking reasoner continues to select another test-objective. The Test Case is in charge of generating test cases for the selected TOs. The generated test cases are added to the test suite ontology, which is used to reduce redundant test-cases. The initialization subprocess, initializes the of test case generation process. Finally the executable test cases are generated from the test suite ontology. An ontology based representation of test oracle, and Figure 3. Technologies rule based specification of CC, promotes separation of specification of what needs to be tested and identification of TOs, and, therefore, form a flexible mechanism for specification of various CC. The system empowers the test expert to use knowledge about the system to control the test-suite by specifying CC. 3. The architecture that is discussed in the previous section is abstract and can be realized using various technologies. This section describes an implementation of the system for SM based unit testing and the technologies which are used to realize the system, including OWL-DL, POSL, and OO jdrew, and an AI planner named Metric-FF [10] (See Figure 3). The UML SM, expert knowledge, implementation knowledge, and test suite are represented in OWL-DL [3]. A TBox ontology specifies different concepts and relations in them and an ABox ontology specifies a particular instances of them by importing the TBox ontology and instantiating the elements in it. The TBoxes are reusable while the A-Boxes are for an instance system. The Ontology Definition Metamodel (ODM), which is adopted by the OMG, has a section that describes the UML 2.0 metamodel in OWL-DL. However, a prototype ontology which is much simpler and less modifiable is used for the purpose of this work. The XMI [13] representation of the SM can be converted to the ontology-based representation automatically. The implementation knowledge can be automatically imported if the source code of the unit is available. Some
4 parts of the ontologies are visualized in next section. The TO Genersation and Redundancy Checking component use OO jdrew [2] for reasoning tasks. The OWL-DL Ontologies are transformed into POSL [6] using the mappings presented by Grosof et al. [9]. The CC and the Rule Templates are written and converted to POSL respectively. Examples of CC and Redundancy Checking Rule Templates are provided in the next section. The TOs are specified with structure predicates which specify some structural properties of the test case. Ideally a TO should specify why it is selected and its structure, to be used by the redundancy checking reasoner and the Test Case process respectively. A set of structure predicates, which are used to specify the structural properties of the test cases are used to compose CC and TOs. Examples of TOs are provided in the next section. The Test-case process, uses an AI planner called Metric-FF [10] for test-case generation. The s to Metric-FF are the problem and domain description in the PDDL 2.1 language [7], which are provided by the planner initializer. The compiler-subprocess is in charge of parsing the state variables, guards and actions of the SM which are specified in an SM action language. The s of the planner is initialized based on data from the SM and structure predicates of a TO. The generated test cases, include methods to be called at each step, their s and the expected values of the state variables. The generated test cases are then given to the Writer sub-process to be written back to the Test-Suite Ontology in OWL from which the JUnit test cases are generated. 4. Case Study Figure 4 visualizes the SM of a cross road traffic light controller. The traffic light stays green for at least long time interval on one direction and turns yellow when a car is sensed in the other direction. Then it remains yellow for short time interval before it becomes red. There is a correspondance between the SM elements and class under test: The state variables correspond to the state variables of the class; The events correspond to the methods; The actions simulate how the state variables are changed by the methods. The traffic light SM does not have a timer and delegates the counting responsibility to another class which produces call events. Some parts of the ontological representation which is converted to POSL is visualized in Figure 5. A CC in POSL for All Transition Pair coverage and the query that is asked from OO jdrew to generate TOs are as follows: SenseRoad2() [ lti=true ] / Road1Yellow=true; Road1Green=false; road1yellow lti=false; Road1Green=true; Road2Green=false; Road1Yellow=false; Road2Yellow=false; Road1Red=false; Road2Red=false; ShortTimeInterval() [ ] / Road2Green=true; Road1Yellow=false; Road1Red=true; tl:trafficlightsm sm:transitions sm:states LongTimeInterval() [ ] / lti=true; ShortTimeInterval() [ ] / road1green Road1Green=true; Road2Yellow=false; Road2Red=true; road2green LongTimeInterval() [ ] / lti=true; Figure 4. Traffic Light SM sm:states sm:vars sm:statemachine sm:vars sm:states road2yellow SenseRoad1() [ lti=true ] / Road2Yellow=true; Road2Green=false; sm:statevariable sm:abstractstate tl:road1green sm:transitions tl:road1green sm:state sm:from tl:road1yellow sm:in sm:to tl:lticondition sm:from sm:out sm:to sm:finalstate sm:condition sm:to sm:startstate sm:guard sm:guard sm:from tl:road1greentoroad1yellow sm:transition sm:event sm:event tl:senseroad2 sm:call tl:road1goyellow sm:behaviour TBox Definitions: class2 property class1 Instantiation: individual1 class1 ABox Definition: individual2 property individual1 Figure 5. SM Ontology Rule: coverage([immediate],[?a,?b]):-transition(?a), transition(?b),notequal(?a,?b),from(?a,?state),to(?b,?state). Query: coverage (?predicates,?args). Before generating a test case for a TO, a redundancy checking rule is generated for it; test suite ontology (see Figure 6) is translated into POSL; and OO JDREW is used to check whether the TO is already satisfied. A TO and the corresponding redundancy checking rule are shown below: coverage([immediate],[start2road1gr,road1grtoroad1gr]). Redundancy Rule: exist(?t,?st1,?st2):- hascall(?st1,start2road1gr),hascall(?st2,road1grtoroad1gr), hasstep(?t,?st1),hasstep(?t,?st2),nextstep(?st1,?st2 ). For an unsatisfied TO, AI planning is used to generate test cases which are added to test suite ontology ABox. To generate executable JUnit test cases, implementation knowledge ontology is used ( Figure 7).
5 ts:value sm:statevariable ts:hasstep ts:value ts:variablevalue ts:test ts:variable imp:hasclass imp:name tl:trafficlightimpclass tl:trafficlightsm imp:packagename sm:starttoroad1green imp:implementedclass imp:hasclass sm:road1greentoroad1green sm:statemachine ts:outcome imp:name imp:hasvar sm:statevariable ts:hastransition imp:classname imp:hasimpstatevariable ts:hastransition imp:implementedstatevariable ts:nextstep tltest:test0step1 ts:hasstep tl:road1green imp:hasimpgettermethod ts:hasstep tltest:test0step0 ts:nextstep tltest:test0 imp:hasimpsettermethod hasimpstatevariable imp:implementedgettermethod sm:transition ts:hascall ts:step tlimp:road1green ts:hasstep ts:test ts:outcome imp:implementedsettermethod ts:arg ts:outcome imp:hasimpgettermethod ts:value ts:value ts:variablevalue ts:variable imp:implementedmethod sm:statevariable tlimp:isroad1green tltest:test0step0outcome imp:hasimpcallmethod tltest:test0step1outome imp:implementedcallmethod sm:call tl:seneroad1 imp:hasimpmethod tl:seneroad1 Figure 6. Test suite Ontology imp:name tlimp:trafficlightimpclass imp:hasclass tl:trafficlightsm imp:packagename imp:implementedclass imp:hasclass sm:statemachine imp:name imp:hasvar imp:hasimpstatevariable sm:statevariable imp:classname imp:implementedstatevariable imp:hasimpsettermethod tl:road1green imp:hasimpgettermethod hasimpstatevariable imp:implementedgettermethod tlimp:road1green imp:implementedsettermethod imp:hasimpgettermethod imp:implementedmethod tlimp:isroad1green imp:implementedcallmethod imp:hasimpcallmethod sm:call imp:hasimpmethod tlimp:seneroad1 tl:seneroad1 Figure 7. Knowledge 4.1. Other Coverage Ciriteria While some CC such as All Transition Pair coverage merely depend on the structure of a SM, some other CC refer to additional expert knowledge which can be expressed in an ontology and be used to define custom CC. As an example, a test expert s knowledge about use of an unreliable library can be modeled, and CC for a test suite that tests every call to the library once can be specified. This knowledge can be attached to the unit s SM ontology (Figure 8). A CC can be defined as it is shown below. The test structure indicated by this CC is that at a transition t, the state variable sv, must have value val. coverage([attransitionstatevariablehasvalue], [?t,?sv,?val]):- untestedlib(?l),method(?m), belongsto(?m,?l),behaviour(?b), uses(?b,?m),transition(?t),action(?t,?a), variablevalue(?vv), risky (?m,?vv), value(?val), statevariable (?sv),hasvar(?vv,?sv), hasvalue(?vv,?val). Another example is a CC that defines if a state variable has a boundary value in a state, then a transition that has a behavior that uses the value should be tested ek:untestedlibrary ek:belongsto ek:method ek:untestedlibrary ek:risky ek:belongsto ek:method ek:uses ek:variablevalue ek:risky ek:uses ek:variablevalue sm:behaviour sm:behaviour ek:hasvalue ek:hasvar ek:hasvalue ek:hasvar sm:value sm:value sm:statevariable sm:transition sm:statevariable sm:transition Figure 8. Use of an Unreliable Library ek:haslowerbound sm:statevariable ek:hasupperbound ek:haslowerbound sm:value sm:statevariable ek:hasupperbound sm:value ek:usevar ek:hasvar ek:hasvalue ek:usevar ek:hasvar ek:hasvalue ek:variablevalue sm:behaviour ek:variablevalue sm:behavioursm:out sm:out hasvariablevalue hasvariablevalue sm:transition sm:from sm:transition sm:from sm:state sm:state Figure 9. Boundary Values [12]. Figure 9 visualizes the expert knowledge and the CC can be as follows: coverage([attransitionstatevariablehasvalue], [?t,?sv,?val]) :- state(?s), vaiablevalue(?vv), hasvar(?vv,?sv), hasvalue(?vv,?val), hasboundary(?sv,?val),transition (?t), from (?t,?s),behaviour(?b), action(?t,?b), usevariable(?b,?sv). hasboundary(?sv,?val):-lowerbound(?sv,?val). hasboundary(?sv,?val):-upperbound(?sv,?val). Other CC can be implemented by representing the knowledge in an ontology and defining rules that refer to vocabulary defined by the ontology. For instance, to implement all content dependance relationship coverage [20], which requires that every use of a variable be sequenced after every definition of the variable in a test case, the definition-use relationships among the behaviors and guards can be added to the ontology. Another example is Faulty Transition Pair coverage [4], which required error states, the transitions to them be modeled in an ontology. Then a rule that generate objectives to go to error states are generated. Implementing Full Predicate coverage[14] required more effort. 5. Concluding Remarks This work studies the use of knowledge engineering techniques in software testing. The benefit that knowledge engineering techniques can bring to automated testing is specification of extensible test oracles which can model test experts mental model and lend themselves to definition of custom CC. In unit testing, a unit can be large and central to the system. The method grants control to a test expert to specify what test cases should be generated and therefore potentially increases a test suite s quality. Other benefits of the system are that the generated test suite ontology is programming
6 language independent and can be translated into different languages, and the expert knowledge TBox ontology is re-usable. Providing for enriching the test oracle with additional knowledge, enables blending white-box and black box testing into gray box testing. While rigid test oracles and CC hinder a test expert in using their knowledge to control automated testing, an extensible CC allows them to add any knowledge to the test oracle and define CC accordingly. Either arbitrary test cases can be defined or rules can be used to generate TOs. Rules can be defined based on a model s structural elements and/or generally accepted, domain-specific, and/or system specific error prone aspects of software. Although the system is extensible, manipulating the CC and knowledge required knowledge engineering skills. Further research into test experts mental model, and a method of presenting the system to a test expert abstractly, so that it can be easily learnt is required. Also, the CC which are accepted by literature should be implemented in the system. Further research needs to be done into how test experts describe test cases and a language of structure predicates needs to be devised accordingly, for the test expert to specify the structure of test cases using TOs. This work concentrated on unit testing and the next step is using knowledge engineering in integration testing and system testing. References [1] J. Bach. Risk-based Testing. Software Testing and Quality Engineering Magazine, 1(6), [2] M. Ball. OO jdrew: Design and of a Reasoning Engine for the Semantic Web. Technical report, Technical report, Faculty of Computer Science, University of New Brunswick, [3] S. Bechhofer, F. van Harmelen, J. Hendler, I. Horrocks, D. McGuinness, P. Patel-Schneider, L. Stein, et al. OWL Web Ontology Language Reference. W3C Recommendation, 10, [4] F. Belli and A. Hollmann. Test generation and minimization with basic statecharts. In Proceedings of the 2008 ACM symposium on Applied computing, pages , [5] S. Benz. Combining test case generation for component and integration testing. In Proceedings of the 3rd international workshop on Advances in model-based testing, pages 23 33, [6] H. Boley. POSL: An Integrated Positional- Slotted Language for Semantic Web Knowledge [7] M. Fox and D. Long. PDDL2. 1: An extension to PDDL for expressing temporal planning domains. Journal of Artificial Intelligence Research, 20(2003):61 124, [8] G. Friedman, A. Hartman, K. Nagin, and T. Shiran. Projected state machine coverage for software testing. In Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis, pages , [9] B. N. Grosof, I. Horrocks, R. Volz, and S. Decker. Description logic programs: combining logic programs with description logic. In WWW 03: Proceedings of the 12th international conference on World Wide Web, pages 48 57, [10] J. Homann. The Metric-FF Planning System: Translating Ignoring Delete Lists to Numeric State Variables. Journal of Artificial Intelligence Research, 20: , [11] A. Howe, A. Mayrhauser, and R. Mraz. Test Case as an AI Planning Problem. Automated Software Engineering, 4(1):77 106, [12] N. Kosmatov, B. Legeard, F. Peureux, and M. Utting. Boundary Coverage Criteria for Test from Formal Models. In Proceedings of the 15th International Symposium on Software Reliability Engineering, pages , [13] Object Management Group. XML Metadata Interchange (XMI) specification. xmi.htm, [14] J. Offutt and A. Abdurazik. Generating tests from UML specifications. In UML 99 - The Unified Modeling Language. Beyond the Standard. Springer, [15] T. Ostrand and M. Balcer. The category-partition method for specifying and generating fuctional tests. Communications of the ACM, 31(6): , [16] A. Paradkar. Plannable Test Selection Criteria for FSMs Extracted From Operational Specifications. In Proceedings of the 15th International Symposium on Software Reliability Engineering, pages , [17] A. Paradkar. A quest for appropriate software fault models: Case studies on fault detection effectiveness of model-based test generation techniques. Information and Software Technology, 48(10): , [18] S. Rayadurgam and M. Heimdahl. Coverage based test-case generation using model checkers. In Engineering of Computer Based Systems, ECBS Proceedings. Eighth Annual IEEE International Conference and Workshop on the, pages 83 91, [19] S. Rayadurgam and M. Heimdahl. Coverage Based Test-Case using Model Checkers. In Eighth IEEE International Conference and Workshop on the Engineering of Computer Based Systems, page 83, [20] Y. Wu, M. Chen, and J. Offutt. UML-Based Integration Testing for Component-Based Software. In Cots- Based Software Systems: Second International Conference, pages , [21] H. Zhu, P. Hall, and J. May. Software unit test coverage and adequacy. ACM Computing Surveys (CSUR), 29(4): , 1997.
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
Model Driven Testing AGEDIS Architecture Interfaces and Tools
Model Driven Testing AGEDIS Architecture Interfaces and Tools Alan Hartman Kenneth Nagin IBM Haifa Research Laboratory Haifa University Campus Haifa 31905 ISRAEL {hartman, nagin}@il.ibm.com Page 1 of 11
How To Test A Web Based Application Automatically
A General Framework for Testing Web-Based Applications Saeed Abrishami, Mohsen Kahani Computer Engineering Department, Ferdowsi University of Mashhad [email protected] r, [email protected] Abstract Software
Implementing Ontology-based Information Sharing in Product Lifecycle Management
Implementing Ontology-based Information Sharing in Product Lifecycle Management Dillon McKenzie-Veal, Nathan W. Hartman, and John Springer College of Technology, Purdue University, West Lafayette, Indiana
Ontology-Based Web Application Testing
Ontology-Based Web Application Testing Samad Paydar, Mohsen Kahani Computer Engineering Department, Ferdowsi University of Mashhad [email protected], [email protected] Abstract- Testing Web applications
How To Test Automatically
Automated Model-Based Testing of Embedded Real-Time Systems Jan Peleska [email protected] University of Bremen Bieleschweig Workshop 7 2006-05-05 Outline Technologie-Zentrum Informatik Objectives Basic concepts
Tool Support for Software Variability Management and Product Derivation in Software Product Lines
Tool Support for Software Variability Management and Product Derivation in Software s Hassan Gomaa 1, Michael E. Shin 2 1 Dept. of Information and Software Engineering, George Mason University, Fairfax,
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
Developing a Web-Based Application using OWL and SWRL
Developing a Web-Based Application using OWL and SWRL Martin J. O Connor, Ravi Shankar, Csongor Nyulas, Samson Tu, Amar Das Stanford Medical Informatics, Stanford University, Stanford, CA 94305-5479 {martin.oconnor,
A Framework for Ontology-Based Knowledge Management System
A Framework for Ontology-Based Knowledge Management System Jiangning WU Institute of Systems Engineering, Dalian University of Technology, Dalian, 116024, China E-mail: [email protected] Abstract Knowledge
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
Semantic Knowledge Management System. Paripati Lohith Kumar. School of Information Technology
Semantic Knowledge Management System Paripati Lohith Kumar School of Information Technology Vellore Institute of Technology University, Vellore, India. [email protected] Abstract The scholarly activities
Data Validation with OWL Integrity Constraints
Data Validation with OWL Integrity Constraints (Extended Abstract) Evren Sirin Clark & Parsia, LLC, Washington, DC, USA [email protected] Abstract. Data validation is an important part of data integration
A Framework for Ontology-based Context Base Management System
Association for Information Systems AIS Electronic Library (AISeL) PACIS 2005 Proceedings Pacific Asia Conference on Information Systems (PACIS) 12-31-2005 A Framework for Ontology-based Context Base Management
Rules and Business Rules
OCEB White Paper on Business Rules, Decisions, and PRR Version 1.1, December 2008 Paul Vincent, co-chair OMG PRR FTF TIBCO Software Abstract The Object Management Group s work on standards for business
Formal Ontologies in Model-based Software Development
Formal Ontologies in Model-based Software Development Hele-Mai Haav, Andres Ojamaa, Vahur Kotkas, Pavel Grigorenko, Jaan Penjam Institute of Cybernetics at TUT About In general, ontologies as formal models
A Framework of Model-Driven Web Application Testing
A Framework of Model-Driven Web Application Testing Nuo Li, Qin-qin Ma, Ji Wu, Mao-zhong Jin, Chao Liu Software Engineering Institute, School of Computer Science and Engineering, Beihang University, China
A generic approach for data integration using RDF, OWL and XML
A generic approach for data integration using RDF, OWL and XML Miguel A. Macias-Garcia, Victor J. Sosa-Sosa, and Ivan Lopez-Arevalo Laboratory of Information Technology (LTI) CINVESTAV-TAMAULIPAS Km 6
An Efficient and Scalable Management of Ontology
An Efficient and Scalable Management of Ontology Myung-Jae Park 1, Jihyun Lee 1, Chun-Hee Lee 1, Jiexi Lin 1, Olivier Serres 2, and Chin-Wan Chung 1 1 Korea Advanced Institute of Science and Technology,
Ontological Representations of Software Patterns
Ontological Representations of Software Patterns Jean-Marc Rosengard and Marian F. Ursu University of London http://w2.syronex.com/jmr/ Abstract. This paper 1 is based on and advocates the trend in software
A Proposal for a Description Logic Interface
A Proposal for a Description Logic Interface Sean Bechhofer y, Ian Horrocks y, Peter F. Patel-Schneider z and Sergio Tessaris y y University of Manchester z Bell Labs Research Most description logic (DL)
EXPLOITING FOLKSONOMIES AND ONTOLOGIES IN AN E-BUSINESS APPLICATION
EXPLOITING FOLKSONOMIES AND ONTOLOGIES IN AN E-BUSINESS APPLICATION Anna Goy and Diego Magro Dipartimento di Informatica, Università di Torino C. Svizzera, 185, I-10149 Italy ABSTRACT This paper proposes
I. INTRODUCTION NOESIS ONTOLOGIES SEMANTICS AND ANNOTATION
Noesis: A Semantic Search Engine and Resource Aggregator for Atmospheric Science Sunil Movva, Rahul Ramachandran, Xiang Li, Phani Cherukuri, Sara Graves Information Technology and Systems Center University
Lightweight Data Integration using the WebComposition Data Grid Service
Lightweight Data Integration using the WebComposition Data Grid Service Ralph Sommermeier 1, Andreas Heil 2, Martin Gaedke 1 1 Chemnitz University of Technology, Faculty of Computer Science, Distributed
Test Coverage Criteria for Autonomous Mobile Systems based on Coloured Petri Nets
9th Symposium on Formal Methods for Automation and Safety in Railway and Automotive Systems Institut für Verkehrssicherheit und Automatisierungstechnik, TU Braunschweig, 2012 FORMS/FORMAT 2012 (http://www.forms-format.de)
Business Rule Standards -- Interoperability and Portability
Rule Standards -- Interoperability and Portability April 2005 Mark H. Linehan Senior Technical Staff Member IBM Software Group Emerging Technology [email protected] Donald F. Ferguson IBM Fellow Software
Semantic Web Services for e-learning: Engineering and Technology Domain
Web s for e-learning: Engineering and Technology Domain Krupali Shah and Jayant Gadge Abstract E learning has gained its importance over the traditional classroom learning techniques in past few decades.
Ontology-Driven Software Development in the Context of the Semantic Web: An Example Scenario with Protégé/OWL
Ontology-Driven Software Development in the Context of the Semantic Web: An Example Scenario with Protégé/OWL Holger Knublauch Stanford Medical Informatics, Stanford University, CA [email protected]
Model Driven Testing of Web Applications Using Domain Specific Language
Model Driven Testing of Web Applications Using Domain Specific Language Viet-Cuong Nguyen Department of Computer Science and Engineering Faculty of Electrical Engineering Czech Technical University in
Generating Enterprise Applications from Models
Generating Enterprise Applications from Models Vinay Kulkarni, R Venkatesh, Sreedhar Reddy Tata Research Development and Design Centre, 54, Industrial estate, Hadapsar, Pune, 411 013, INDIA { vinayk, rvenky,
A Model-based Software Architecture for XML Data and Metadata Integration in Data Warehouse Systems
Proceedings of the Postgraduate Annual Research Seminar 2005 68 A Model-based Software Architecture for XML and Metadata Integration in Warehouse Systems Abstract Wan Mohd Haffiz Mohd Nasir, Shamsul Sahibuddin
Fuzzy Cognitive Map for Software Testing Using Artificial Intelligence Techniques
Fuzzy ognitive Map for Software Testing Using Artificial Intelligence Techniques Deane Larkman 1, Masoud Mohammadian 1, Bala Balachandran 1, Ric Jentzsch 2 1 Faculty of Information Science and Engineering,
CHAPTER 1 INTRODUCTION
1 CHAPTER 1 INTRODUCTION Exploration is a process of discovery. In the database exploration process, an analyst executes a sequence of transformations over a collection of data structures to discover useful
Jairson Vitorino. PhD Thesis, CIn-UFPE February 2009. Supervisor: Prof. Jacques Robin. Ontologies Reasoning Components Agents Simulations
CHROME: A Model-Driven Component- Based Rule Engine Jairson Vitorino PhD Thesis, CIn-UFPE February 2009 Supervisor: Prof. Jacques Robin Ontologies Reasoning Components Agents Simulations Contents 1. Context
MERGING ONTOLOGIES AND OBJECT-ORIENTED TECHNOLOGIES FOR SOFTWARE DEVELOPMENT
23-24 September, 2006, BULGARIA 1 MERGING ONTOLOGIES AND OBJECT-ORIENTED TECHNOLOGIES FOR SOFTWARE DEVELOPMENT Dencho N. Batanov Frederick Institute of Technology Computer Science Department Nicosia, Cyprus
Generating Aspect Code from UML Models
Generating Aspect Code from UML Models Iris Groher Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich, Germany [email protected] Stefan Schulze Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich,
Training Management System for Aircraft Engineering: indexing and retrieval of Corporate Learning Object
Training Management System for Aircraft Engineering: indexing and retrieval of Corporate Learning Object Anne Monceaux 1, Joanna Guss 1 1 EADS-CCR, Centreda 1, 4 Avenue Didier Daurat 31700 Blagnac France
Tool Support for Model Checking of Web application designs *
Tool Support for Model Checking of Web application designs * Marco Brambilla 1, Jordi Cabot 2 and Nathalie Moreno 3 1 Dipartimento di Elettronica e Informazione, Politecnico di Milano Piazza L. Da Vinci,
Intelligent and Automated Software Testing Methods Classification
Intelligent and Automated Software Testing Methods Classification Seyed Reza Shahamiri Department of Software Engineering Faculty of Computer Science and Information s University Teknologi Malaysia (UTM)
Model Driven Interoperability through Semantic Annotations using SoaML and ODM
Model Driven Interoperability through Semantic Annotations using SoaML and ODM JiuCheng Xu*, ZhaoYang Bai*, Arne J.Berre*, Odd Christer Brovig** *SINTEF, Pb. 124 Blindern, NO-0314 Oslo, Norway (e-mail:
The Ontology and Architecture for an Academic Social Network
www.ijcsi.org 22 The Ontology and Architecture for an Academic Social Network Moharram Challenger Computer Engineering Department, Islamic Azad University Shabestar Branch, Shabestar, East Azerbaijan,
Revel8or: Model Driven Capacity Planning Tool Suite
Revel8or: Model Driven Capacity Planning Tool Suite Liming Zhu 1,2, Yan Liu 1,2, Ngoc Bao Bui 1,2,Ian Gorton 3 1 Empirical Software Engineering Program, National ICT Australia Ltd. 2 School of Computer
Knowledge-based Approach in Information Systems Life Cycle and Information Systems Architecture
5 th Slovakian-Hungarian Joint Symposium on Applied Machine Intelligence and Informatics January 25-26, 2007 Poprad, Slovakia Knowledge-based Approach in Information Systems Life Cycle and Information
Completing Description Logic Knowledge Bases using Formal Concept Analysis
Completing Description Logic Knowledge Bases using Formal Concept Analysis Franz Baader, 1 Bernhard Ganter, 1 Barış Sertkaya, 1 and Ulrike Sattler 2 1 TU Dresden, Germany and 2 The University of Manchester,
Machine Learning-based Software Testing: Towards a Classification Framework
Machine Learning-based Software Testing: Towards a Classification Framework Mahdi Noorian 1, Ebrahim Bagheri 1,2, and Wheichang Du 1 University of New Brunswick, Fredericton, Canada 1 Athabasca University,
CitationBase: A social tagging management portal for references
CitationBase: A social tagging management portal for references Martin Hofmann Department of Computer Science, University of Innsbruck, Austria [email protected] Ying Ding School of Library and Information Science,
What is a life cycle model?
What is a life cycle model? Framework under which a software product is going to be developed. Defines the phases that the product under development will go through. Identifies activities involved in each
COCOVILA Compiler-Compiler for Visual Languages
LDTA 2005 Preliminary Version COCOVILA Compiler-Compiler for Visual Languages Pavel Grigorenko, Ando Saabas and Enn Tyugu 1 Institute of Cybernetics, Tallinn University of Technology Akadeemia tee 21 12618
Reverse Engineering of Relational Databases to Ontologies: An Approach Based on an Analysis of HTML Forms
Reverse Engineering of Relational Databases to Ontologies: An Approach Based on an Analysis of HTML Forms Irina Astrova 1, Bela Stantic 2 1 Tallinn University of Technology, Ehitajate tee 5, 19086 Tallinn,
An Architecture for Autonomic Web Service Process Planning
An Architecture for Autonomic Web Service Process Planning Colm Moore and Ming Xue Wang and Claus Pahl Dublin City University, School of Computing, Dublin 9, Ireland [email protected], [mwang
Development of Ontology for Smart Hospital and Implementation using UML and RDF
206 Development of Ontology for Smart Hospital and Implementation using UML and RDF Sanjay Anand, Akshat Verma 2 Noida, UP-2030, India 2 Centre for Development of Advanced Computing (C-DAC) Noida, U.P
Supporting Software Development Process Using Evolution Analysis : a Brief Survey
Supporting Software Development Process Using Evolution Analysis : a Brief Survey Samaneh Bayat Department of Computing Science, University of Alberta, Edmonton, Canada [email protected] Abstract During
Annotation: An Approach for Building Semantic Web Library
Appl. Math. Inf. Sci. 6 No. 1 pp. 133-143 (2012) Applied Mathematics & Information Sciences @ 2012 NSP Natural Sciences Publishing Cor. Annotation: An Approach for Building Semantic Web Library Hadeel
Semantic Search in Portals using Ontologies
Semantic Search in Portals using Ontologies Wallace Anacleto Pinheiro Ana Maria de C. Moura Military Institute of Engineering - IME/RJ Department of Computer Engineering - Rio de Janeiro - Brazil [awallace,anamoura]@de9.ime.eb.br
Efficient Agent Based Testing Framework for Web Applications
International Journal of Scientific & Engineering Research, Volume 3, Issue 2, February-2012 1 Efficient Agent Based Testing Framework for Web Applications Ms.Neha Saluja Prof.Amit Kanskar Abstract- Now
A Case Study of Question Answering in Automatic Tourism Service Packaging
BULGARIAN ACADEMY OF SCIENCES CYBERNETICS AND INFORMATION TECHNOLOGIES Volume 13, Special Issue Sofia 2013 Print ISSN: 1311-9702; Online ISSN: 1314-4081 DOI: 10.2478/cait-2013-0045 A Case Study of Question
Supporting Change-Aware Semantic Web Services
Supporting Change-Aware Semantic Web Services Annika Hinze Department of Computer Science, University of Waikato, New Zealand [email protected] Abstract. The Semantic Web is not only evolving into
Foundations of Model-Driven Software Engineering
Model-Driven Software Engineering Foundations of Model-Driven Software Engineering Dr. Jochen Küster ([email protected]) Contents Introduction to Models and Modeling Concepts of Model-Driven Software
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,
ONTOLOGY BASED FEEDBACK GENERATION IN DESIGN- ORIENTED E-LEARNING SYSTEMS
ONTOLOGY BASED FEEDBACK GENERATION IN DESIGN- ORIENTED E-LEARNING SYSTEMS Harrie Passier and Johan Jeuring Faculty of Computer Science, Open University of the Netherlands Valkenburgerweg 177, 6419 AT Heerlen,
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
Evaluating OO-CASE tools: OO research meets practice
Evaluating OO-CASE tools: OO research meets practice Danny Greefhorst, Matthijs Maat, Rob Maijers {greefhorst, maat, maijers}@serc.nl Software Engineering Research Centre - SERC PO Box 424 3500 AK Utrecht
Open Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1
Open Source egovernment Reference Architecture Osera.modeldriven.org Slide 1 Caveat OsEra and the Semantic Core is work in progress, not a ready to use capability Slide 2 OsEra What we will cover OsEra
An Ontology Based Method to Solve Query Identifier Heterogeneity in Post- Genomic Clinical Trials
ehealth Beyond the Horizon Get IT There S.K. Andersen et al. (Eds.) IOS Press, 2008 2008 Organizing Committee of MIE 2008. All rights reserved. 3 An Ontology Based Method to Solve Query Identifier Heterogeneity
Semantic Variability Modeling for Multi-staged Service Composition
Semantic Variability Modeling for Multi-staged Service Composition Bardia Mohabbati 1, Nima Kaviani 2, Dragan Gašević 3 1 Simon Fraser University, 2 University of British Columbia, 3 Athabasca University,
Information Management Metamodel
ISO/IEC JTC1/SC32/WG2 N1527 Information Management Metamodel Pete Rivett, CTO Adaptive OMG Architecture Board [email protected] 2011-05-11 1 The Information Management Conundrum We all have Data
Semantic-enabled Software Engineering and Development
Semantic-enabled Software Engineering and Development Bernhard Bauer, Stephan Roser Programming of Distributed Systems, University of Augsburg, 86135 Augsburg [bauer roser]@informatik.uni-augsburg.de Abstract:
Testing Web Services: A Survey
Testing Web Services: A Survey Technical report TR-10-01 Mustafa Bozkurt, Mark Harman and Youssef Hassoun Centre for Research on Evolution, Search & Testing King s College London Strand, London WC2R 2LS,
A semantic extension of a hierarchical storage management system for small and medium-sized enterprises.
Faculty of Computer Science Institute of Software- and Multimedia Technology, Chair of Multimedia Technology A semantic extension of a hierarchical storage management system for small and medium-sized
Evaluation of a Use-Case-Driven Requirements Analysis Tool Employing Web UI Prototype Generation
Evaluation of a Use-Case-Driven Requirements Analysis Tool Employing Web UI Prototype Generation SHINPEI OGATA Course of Functional Control Systems, Graduate School of Engineering Shibaura Institute of
Linking BPMN, ArchiMate, and BWW: Perfect Match for Complete and Lawful Business Process Models?
Linking BPMN, ArchiMate, and BWW: Perfect Match for Complete and Lawful Business Process Models? Ludmila Penicina Institute of Applied Computer Systems, Riga Technical University, 1 Kalku, Riga, LV-1658,
Incorporating Semantic Discovery into a Ubiquitous Computing Infrastructure
Incorporating Semantic Discovery into a Ubiquitous Computing Infrastructure Robert E. McGrath, Anand Ranganathan, M. Dennis Mickunas, and Roy H. Campbell Department of Computer Science, University or Illinois
Testing. Chapter. A Fresh Graduate s Guide to Software Development Tools and Technologies. CHAPTER AUTHORS Michael Atmadja Zhang Shuai Richard
A Fresh Graduate s Guide to Software Development Tools and Technologies Chapter 3 Testing CHAPTER AUTHORS Michael Atmadja Zhang Shuai Richard PREVIOUS CONTRIBUTORS : Ang Jin Juan Gabriel; Chen Shenglong
Web-Based Genomic Information Integration with Gene Ontology
Web-Based Genomic Information Integration with Gene Ontology Kai Xu 1 IMAGEN group, National ICT Australia, Sydney, Australia, [email protected] Abstract. Despite the dramatic growth of online genomic
JOURNAL OF COMPUTER SCIENCE AND ENGINEERING
Exploration on Service Matching Methodology Based On Description Logic using Similarity Performance Parameters K.Jayasri Final Year Student IFET College of engineering [email protected] R.Rajmohan
OWL Ontology Translation for the Semantic Web
OWL Ontology Translation for the Semantic Web Luís Mota and Luís Botelho We, the Body and the Mind Research Lab ADETTI/ISCTE Av. das Forças Armadas, 1649-026 Lisboa, Portugal [email protected],[email protected]
The Specific Text Analysis Tasks at the Beginning of MDA Life Cycle
SCIENTIFIC PAPERS, UNIVERSITY OF LATVIA, 2010. Vol. 757 COMPUTER SCIENCE AND INFORMATION TECHNOLOGIES 11 22 P. The Specific Text Analysis Tasks at the Beginning of MDA Life Cycle Armands Šlihte Faculty
An event-flow model of GUI-based applications for testing
SOFTWARE TESTING, VERIFICATION AND RELIABILITY Published online 2 January 2007 in Wiley InterScience (www.interscience.wiley.com)..364 An event-flow model of GUI-based applications for testing Atif M.
Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries
First Semester Development 1A On completion of this subject students will be able to apply basic programming and problem solving skills in a 3 rd generation object-oriented programming language (such as
How To Write A Policy Based Networking System For Bgg
Utilizing Semantic Policies for Secure BGP Route Dissemination Sethuram Balaji Kodeswaran, Palanivel Kodeswaran, Anupam Joshi Department of Computer Science and Electrical Engineering University of Maryland
Overview of the TACITUS Project
Overview of the TACITUS Project Jerry R. Hobbs Artificial Intelligence Center SRI International 1 Aims of the Project The specific aim of the TACITUS project is to develop interpretation processes for
POMPDs Make Better Hackers: Accounting for Uncertainty in Penetration Testing. By: Chris Abbott
POMPDs Make Better Hackers: Accounting for Uncertainty in Penetration Testing By: Chris Abbott Introduction What is penetration testing? Methodology for assessing network security, by generating and executing
