Web Service Slicing,
Subset WSDL,
Regression Testing of Web Services, and
Automated Web Service Change Management (AWSCM)
Subset WSDL,
Regression Testing of Web Services, and
Automated Web Service Change Management (AWSCM)
Project Members: Animesh Chaturvedi, Prof. Atul Gupta, and Prof. Dave Binkley
Changeability and evolvability analysis can aid an engineer tasked with a maintenance or an evolution task. This article applies change mining and evolution mining to evolving distributed systems. First, we propose a Service Change Classifier based Interface Slicing algorithm that mines change information from two versions of an evolving distributed system. To compare old and new versions, the following change classification labels are used: inserted, deleted, and modified. These labels are then used to identify subsets of the operations in our newly proposed Interface (WSDL) Slicing algorithm. Second, we proposed four Service Evolution Metrics that capture the evolution of a system’s Version Series VS = {V1, V2,…,VN}. Combined the two form the basis of our proposed Service Evolution Analytics model, which includes learning during its development phase. We prototyped the model in an intelligent tool named AWSCM (Automatic Web Service Change Management). Finally, we present results from experiments with two well-known cloud services: Elastic Compute Cloud (EC2) from the Amazon Web Service (AWS), and Cluster Controller (CC) from Eucalyptus. These experiments demonstrate AWSCM’s ability to exploit change and evolution mining.
We introduce Web Service Slicing, a technique that captures a functional subset of a large-scale web service using an interface slice captured as a WSDL slice (a subset of a service’s WSDL). An interface (WSDL) slice provides access to an interoperable slice, which is a functional subset of the service’s code. The technique uses intra-operational and inter-operational analysis to identify web service changes. With the aid of an associative code-test mapping, we leverage the identification of affected operations to reduce the cost of web-service regression testing by extracting a subset of the existing test cases. Used in conjunction with a web service slice, this subset reduces the cost of web-service regression testing by enabling the running of fewer tests. Furthermore, we exploit two approaches: Operationalized Regression Testing of Web Services (ORTWS) and Parameterized Regression Testing of Web Services (PRTWS). ORTWS effectively tests intra-operational changes at the WSDL and WS-code levels, while PRTWS tests inter-operational changes involving inter-operational dependencies due to primary parameters. Finally, we present results obtained using our prototype implementation, AWSCM (Automatic Web Service Change Management), in two case-study experiments that serve to illustrate the reduction potential of the technique using eight real-world web services.
One of the primary goals in Web Service (WS) maintenance and evolution is to reduce the effort required to test the changes. Traditionally, functional and non-functional testing of WS is performed by testing the operations listed in WS Description Language (WSDL). Further, the regression testing is done by identifying the changes made to the WS code and the WSDL specification.
Web Service (WS) analyzer requires automated approach to write and select test cases, which are more reliable and relevant. Analyzer needs to categorize WS, so that cost can be reduced by organizing the test scenarios. Emphasis of analyzer is to create and handle subset of code i.e. slice the WS code, which reduces human efforts in regression testing and re-engineering.
Automated Web Service Change Management (AWSCM) is a tool which constructs Subset WSDL (or WSDL Slice) based on change impact analysis of WSDL and code. AWSCM visualizes and captures changes in the form of intermediate artifacts during impact analysis. This video will describe the computation of change impact as well as mapping them to their test cases. We will see the construction of Subset WSDLs and reduce regression test suite. Automated Web Service Change Management (AWSCM) is a prototype tool, which is described as follows.
Proposed terminologies:
Difference WSDL (DWSDL): Difference WSDL feature takes two inputs: new and old version WSDL. AWSCM gathers operations that have undergone changes to construct DWSDL.
Reduce WSDL (RWSDL): Reduce WSDL feature takes any WSDL as input to gather its operations, and then ask the user to select operations. Selected operations are used to construct the RWSDL.
Unit WSDL (UWSDL): Unit WSDL feature takes three inputs: new, old version code of operations and new version of WSDL. UWSDL is constructed according to the semantics of new version of WSDL with the operations that have gone through changes at the code level.
Combined WSDL (CWSDL): Combined WSDL is constructed with the operations in (D/R/U) WSDL such that it contains only unique and non-redundant operations.
Parameter WSDL (PWSDL): Parameter WSDL is constructed with the operations whose inter-procedure called operations/methods are affected from changes such that their called method, functions, and class have undergone changes. Inter-procedural called operations/methods can also be part of other WS i.e. this is also applicable in WS composition.
Tool requires JRE (1.4-1.7) and Window 7. The project was developed and experimented during 2011-2020. There are following GitHub projects.
https://github.com/animesh88/WebServiceSlicing-ORTWS-PRTWS
https://github.com/animesh88/ServiceEvolutionAnalytics
https://github.com/animesh88/ServiceEvolutionAnalytics
https://github.com/animesh88/JMeterRTWS
https://github.com/animesh88/SaaS
Thesis: Animesh, Chaturvedi "Change Impact Analysis Based Regression Testing of Web Services" Cornell University Library arXiv preprint arXiv:1408.1600 (2014). Download PDF.
The AWSCM tool and its case study is attached below.
I) Operationalized Regression Testing of Web Service (ORTWS): To validate proposed prototype approach of Operationalized Regression Testing of Web Service (ORTWS). We will see following 3 Case studies in this video
1. SaaS: It is my own development.
For DWSDL, ‘edit’ and ‘editFile’ had gone through changes at WSDL level. Further, AWSCM takes old test suite to construct reduce regression test suite (RRTS) with operation ‘edit’ and ‘editFile’.
For RWSDL, we selected only ‘edit’ to construct RWSDL.
For UWSDL select old and new version code, to get changed operations at code level and input new version of WSDL to construct UWSDL with operation changed at code level, here ‘readingFile’ and ‘Searching’.
CWSDL and CRRTS is constructed with 4 changed operations.
Test step ‘readingFile’ is selected for test case ‘readingFile’, similarly for test case 'editFile'. As output we get reduce test step test suite as configured.
2. Amazon Web Service: http://en.wikipedia.org/wiki/Amazon_Web_Services
Out of 23 operations in Amazon Web Service WSDL, we had selected 3 operations to create Reduce WSDL and RRTS.
3. Eucalyptus Cluster Controller: http://en.wikipedia.org/wiki/Eucalyptus_(software)
24 and 26 operations in Old and New version of WSDL of Eucalyptus respectively. AWSCM gathers the 2 added operation to construct DWSDL & RRTS.
Out of 26 operations in Eucalyptus Cluster Controller WSDL we had selected 2 operations to create Reduce WSDL.
Unit WSDL is constructed with 3 operations undergone code level changes in Eucalyptus WSDL.
Combined WSDL and CRRTS is constructed with 7 operations.
II) Parameterized Regression Testing of Web Service (PRTWS): To validate proposed prototype approach of Parameterized Regression Testing of Web Service (PRTWS). We will see two case studies in this video based on following techniques to gather change impact analysis for PRTWS. Case study 1 Automatic change impact analysis and Case Study 2 User selection impact analysis.
Case Study 1: Automatic change impact analysis: This is the extention of Unit WSDL feature of ORTWS. PWSDL feature additionally uses call graph information to compute change impact analysis. BookService Code is our own development written in Java-NetBeans. BookService call goes to book Bhagvad Gita Web Service (BGWS) which again calls BGVerse. BookService call goes to BibleWS, which again calls BibleVerse. Book Service is deployed in Glassfish server. Book Service operations can be easily tested with browser. Book Service has four operations, namely, 'GetAbstractOfChapter', 'FindBookNumber', 'GetVerseByBooKAndChapterAndVerseNumber' & 'GetAllVerseByBookAndChapterNumber'.
1. Find abstract of the chapter with first parameter as 'BookNumber' and second 'chapterName'.
2. Find BookNumber 1 for BG and 2 for Bible.
3. Find verse with first parameter as 'BookNumber', second as 'chapterName' and third as 'verseNumber'.
4. Find all verses with first parameter as 'BookNumber' and second as 'chapterName'.
Case Study 2: User selection based impact analysis: Both Operationalized and Parameterized Regression testing have user selection based feature. Named as 'Test step/sequence selection'.
1. Currency Conversion has two parameter. 'FromCurrency' is chosen as primary and 'ToCurrency' is chosen as non primary parameter. We selected 4 countries as value of primary parameter for test cases.
2. For Bible WS a parameter 'BookTitle' is used as primary paramater with the combination of 'ChapterName' and 'Verse' as the non-primary parameters.
3. Global Weather web service example, 'CountryName' is chosen as primary parameter whereas 'CityName' as non-primary parameter. Parameter Reduce Regression Test Suite (PRRTS) are formal, systematic and analytical. PRRTS helps in proper mapping between selected test steps and WS code.
4. SunSet-SunRise WS has 8 parameters. Both 'Latitude' and 'Longitude' is chosen as primary and other parameters are considered as non primary parameter. SunSet-SunRise WS has 8 location chosen as primary parameter in test cases whereas other information as non-primary parameter. Parameter Reduce Regression Test Suite (PRRTS) is stored in the same folder of test suite. Import the PRRTS at testing environment of 'BookService' in SoapUI. Selection of test steps for a particular test case of primary parameter creates a combination. This combination is helpful for the execution of a particular code flow in testing. Both 'Latitude' and 'Longitude' is chosen as primary and other parameters are considered as non primary parameter.
Presentation and Demonstration videos of AWSCM Tool and Web Service Slicing
Video descriptions
First two video are related to the basic of AWSCM demos and Subset WSDL.
Next two video are related to the basic of ORTWS and PRTWS demos.
Next four videos (3.1, 3.2, 3.3, 3.6) are related to the basic concepts related to the project, which are lectures on Cloud Computing course https://www.youtube.com/watch?v=YWFy5Pwm_Uk&list=PLtvWi5o3JBnE7qyk4xkoYl9Be8vi8MOeJ -
Last two videos (3.4, 3.5) are related to the research done on the "Web Service Slicing" and "Service Evolution Analytics".
Snapshots of AWSCM Tool and Web Service Slicing
1. DifferenceWSDL of AWSCM for EucalyptusCC
2. ReduceWSDL of AWSCM for Amazon WSDL
3. UnitWSDL of AWSCM for SaaS operations (editFile and Searching) modified at code to construct RRTS for JMeter old TS
4. Combined WSDL to construct RRTS for SaaS_3
5. AWSCM for construct RRTS of ‘BookService’ for operation ‘GetAbstractofChapter’
6. Snapshot of prototype tool PRTWS for user selective test sequence/step inside test cases for a test suite of currency conversion.
Publication:
6. Animesh Chaturvedi, Aruna Tiwari, Shubhangi Chaturvedi, and David Binkley. “Service Evolution Analytics: Change and Evolution Mining of a Distributed System”. IEEE Transactions on Engineering Management, Vol. 68.1, pp 137 - 148, Feb-2021, DOI: 10.1109/TEM.2020.2987641 (ABDC A). PDF, Video
5. Animesh Chaturvedi, and David Binkley. "Web Service Slicing: Intra and Inter-Operational Analysis to Test Changes". IEEE Transactions on Services Computing, Vol. 14.3 (May-June 2021): 930-943. DOI: 10.1109/TSC.2018.2821157 (CORE A*). PDF, Video
4. Animesh Chaturvedi, “Subset WSDL to access Subset Service for Analysis”, 6th IEEE International Conference on Cloud Computing Technology and Science (IEEE CloudCom), Singapore, Dec 2014, pp 688-691. IEEE Computer Society and IEEE Cloud Computing DOI: 10.1109/CloudCom.2014.149. ACM, IEEE Computer Society, Slides, PDF, and Poster
3. Animesh Chaturvedi, “Automated Web Service Change Management AWSCM - A Tool” 6th IEEE International Conference on Cloud Computing Technology and Science (IEEE CloudCom), Singapore, Dec 2014, pp 715-718. IEEE Computer Society DOI: 10.1109/CloudCom.2014.144. ACM, IEEE Computer Society, Slides, PDF, and Poster
- Acceptance rate of IEEE CloudCom 2014 is 17.8% and Ranked in Cloud publication at Google Scholar Metrics.
- IEEE CloudCom 2014 is an event of IEEE Computer Society and IEEE Cloud Computing organized at Nanyang Technological University (NTU) Singapore.
2. Animesh Chaturvedi & Atul Gupta, “A Tool Supported Approach to Perform Efficient Regression testing of Web Services”, 7th IEEE International Symposium on Maintenance and Evolution of Service oriented and Cloud Based Systems (IEEE MESOCA) Sept 2013, pp 50-55. IEEE Computer Society (co-located with 29th IEEE ICSM), Eindhoven, Netherlands 2013. DOI: 10.1109/MESOCA.2013.6632734. PDF, Slides.
- IEEE MESOCA is an event of IEEE Computer Society under the aegis of TCSE - ICSME. (one of the most prestigious community in Software Engineering).
- IEEE MESCOA 2013 (co-located with 29th IEEE ICSM) organized at Eindhoven University of Technology (TU/e) Eindhoven, Netherlands
Slides at SEI CMU; http://www.sei.cmu.edu/community/mesoca2013/upload/Chaturvedi-MESOCA-2013.pdf
1. Animesh Chaturvedi, “Reducing cost in regression testing of web service”, 6th CSI International Conference on Software Engineering (6th CONSEG) on IEEE. PDF
- Computer Society India organized an IEEE Conference in the memory of Late Dr. Manohar Chandwani, (teacher and first technical project supervisor).
- CONSEG is a national level event of Computer Society of India organised at Institute of Engineering and Technology - Devi Ahilya University Indore - India, 5-7 Sep 2012.
AWSCM are inspired with following previous works:
Weiser Mark. “The computer for the 21st century.”Mobile Computing and Communications Review 3.3 (1999): 3-11.
Weiser Mark. “Program slicing.” Proceedings of the 5th International Conference on Software Engineering.IEEE Press, 1981.
Binkley David W., and Keith Brian Gallagher. “Program slicing.” Advances in Computers 43 (1996): 1-50.
Binkley David. “The application of program slicing to regression testing.” Information and Software Technology 40.11 (1998): 583-594.
Beck Jon, and David Eichmann. “Program and interface slicing for reverse engineering.” Proceedings of the 15th International Conference on Software Engineering. IEEE Computer Society Press, 1993.
Horwitz Susan, Thomas Reps, and David Binkley. “Interprocedural slicing using dependence graphs.” ACM Transactions on Programming Languages and Systems (TOPLAS) 12.1 (1990): 26-60.
Northrop Linda, et al. “Ultra-large-scale systems: The software challenge of the future.” Carnegi-Mellon Univ. Pittsburgh PA Software Engineering Institute, 2006.
Binkley David. "Semantics guided regression test cost reduction." Software Engineering, IEEE Transactions on 23.8 (1997): 498-516.
Binkley David. "Reducing the cost of regression testing by semantics guided test case selection." Software Maintenance, 1995. Proceedings., International Conference on. IEEE, 1995.
Pasala Anjaneyulu, Lew Yaw Fung Y.L.H, Akladios F., Appala Raju G. and Gorthi R.P. "Selection of regression test suite to validate software applications upon deployment of upgrades." Software Engineering, 2008. ASWEC 2008. 19th Australian Conference on. IEEE, 2008.
Apiwattanapong Taweesup, Alessandro Orso, and Mary Jean Harrold. "JDiff: A differencing technique and tool for object-oriented programs." Automated Software Engineering 14.1 (2007): 3-36.
Rothermel Gregg, and Mary Jean Harrold. "A safe, efficient regression test selection technique." ACM Transactions on Software Engineering and Methodology (TOSEM) 6.2 (1997): 173-210.
Romano Daniele, and Martin Pinzger. "Analyzing the evolution of web services using fine-grained changes." Web Services (ICWS), 2012 IEEE 19th International Conference on. IEEE, 2012.
Ruth Michael, and Shengru Tu. "A safe regression test selection technique for web services." Internet and Web Applications and Services, 2007. ICIW'07. Second International Conference on. IEEE, 2007.
Related projects: RESOS @ TU-Delft, WSAT (Web Service Analysis Tool)
Thankful to Prof. Dave Binkley, Prof. Atul Gupta, Dr. Srinivas Padmanabhuni, Dr. Anjaneyulu Pasala, Dr. Saurabh Tiwari, Dr. Hemant Mehta, Mr. Allahbaksh Asadullah, Mr. Basavaraju M. Prof. Rushikesh K. Joshi and Associate Editors / Reviewers for the advise and comments on this project.