Random Unit-Test Generation with MUT-aware

Slides:



Advertisements
Similar presentations
Feedback-directed Random Test Generation (to appear in ICSE 2007) Carlos Pacheco Shuvendu Lahiri Michael Ernst Thomas Ball MIT Microsoft Research January.
Advertisements

Author: Carlos Pacheco, Shuvendu K. Lahiri, Michael D. Ernst, Thomas Ball MIT CSAIL.
TouchDevelop: Productive Scripting on and for Mobile Devices and Web Services Thomas Ball Sebastian Burckhardt, Peli de Halleux, Michał Moskal, Nikolai.
Chapter 1 Object-Oriented Concepts. A class consists of variables called fields together with functions called methods that act on those fields.
Hybrid Concolic Testing Rupak Majumdar Koushik Sen UC Los Angeles UC Berkeley.
November 2011CSC7302: Testing & MetricsAdvancedTestingTechniques.1 The hangman problem … the final challenge The rules of hangman have changed with respect.
Character String Predicate Based Automatic Software Test Data Generation Ruilian Zhao Computer Science Dept. Beijing University of Chemical Technology.
Michael Ernst, page 1 Improving Test Suites via Operational Abstraction Michael Ernst MIT Lab for Computer Science Joint.
Domain Testing Based on Character String Predicate Ruilian Zhao Computer Science Dept. Beijing University of Chemical Technology Michael R. Lyu Computer.
CS 106 Introduction to Computer Science I 03 / 17 / 2008 Instructor: Michael Eckmann.
Jieming Zhu 1, Pinjia He 1, Qiang Fu 2, Hongyu Zhang 3, Michael R. Lyu 1, Dongmei Zhang 3 1 The Chinese University of Hong Kong, Hong Kong 2 Microsoft,
Finding Errors in.NET with Feedback-Directed Random Testing Carlos Pacheco (MIT) Shuvendu Lahiri (Microsoft) Thomas Ball (Microsoft) July 22, 2008.
Feed Back Directed Random Test Generation Carlos Pacheco1, Shuvendu K. Lahiri2, Michael D. Ernst1, and Thomas Ball2 1MIT CSAIL, 2Microsoft Research Presented.
Automated Testing of System Software (Virtual Machine Monitors) Tao Xie Department of Computer Science North Carolina State University
Tao Xie (North Carolina State University) Nikolai Tillmann, Jonathan de Halleux, Wolfram Schulte (Microsoft Research, Redmond WA, USA)
Automatic Software Testing Via Mining Software Data Wujie Zheng Supervisor: Prof. Michael R. Lyu Department of Computer Science & Engineering The Chinese.
Towards An Open Data Set for Trace-Oriented Monitoring Jingwen Zhou 1, Zhenbang Chen 1, Ji Wang 1, Zibin Zheng 2, and Michael R. Lyu 1,2 1 National University.
Tao Xie Automated Software Engineering Group Department of Computer Science North Carolina State University
1 PARSEWeb: A Programmer Assistant for Reusing Open Source Code on the Web Suresh Thummalapenta and Tao Xie Department of Computer Science North Carolina.
Distributed QoS Evaluation for Real- World Web Services Zibin Zheng, Yilei Zhang, and Michael R. Lyu July 07, 2010 Department of Computer.
Which Configuration Option Should I Change? Sai Zhang, Michael D. Ernst University of Washington Presented by: Kıvanç Muşlu.
Tao Xie North Carolina State University Nikolai Tillmann, Peli de Halleux, Wolfram Schulte Microsoft Research.
Code Contracts Parameterized Unit Tests Tao Xie. Example Unit Test Case = ? Outputs Expected Outputs Program + Test inputs Test Oracles 2 void addTest()
Automatically Repairing Broken Workflows for Evolving GUI Applications Sai Zhang University of Washington Joint work with: Hao Lü, Michael D. Ernst.
Tao Xie North Carolina State University. 2 Why benchmarks in testing research? Before 2000, a testing tool/technique paper without serious evaluation.
TaintScope Presented by: Hector M Lugo-Cordero, MS CAP 6135 April 12, 2011.
Mining Gigabytes of Dynamic Traces for Test Generation Suresh Thummalapenta North Carolina State University Peli de Halleux and Nikolai Tillmann Microsoft.
Computer Science Automated Software Engineering Research ( Mining Exception-Handling Rules as Conditional Association.
Alattin: Mining Alternative Patterns for Detecting Neglected Conditions Suresh Thummalapenta and Tao Xie Department of Computer Science North Carolina.
1 Test Selection for Result Inspection via Mining Predicate Rules Wujie Zheng
Automated Patch Generation Adapted from Tevfik Bultan’s Lecture.
Exploiting Code Search Engines to Improve Programmer Productivity and Quality Suresh Thummalapenta Advisor: Dr. Tao Xie Department of Computer Science.
Finding Errors in.NET with Feedback-Directed Random Testing Carlos Pacheco (MIT) Shuvendu Lahiri (Microsoft) Thomas Ball (Microsoft) July 22, 2008.
Directed Random Testing Evaluation. FDRT evaluation: high-level – Evaluate coverage and error-detection ability large, real, and stable libraries tot.
Cooperative Developer Testing: Tao Xie North Carolina State University In collaboration with Xusheng ASE and Nikolai Tillmann, Peli de
When Tests Collide: Evaluating and Coping with the Impact of Test Dependence Wing Lam, Sai Zhang, Michael D. Ernst University of Washington.
Tao Xie (North Carolina State University) Nikolai Tillmann, Peli de Halleux, Wolfram Schulte (Microsoft Research)
Threshold Setting and Performance Monitoring for Novel Text Mining Wenyin Tang and Flora S. Tsai School of Electrical and Electronic Engineering Nanyang.
Parameterized Unit Testing in the Open Source Wild Wing Lam (U. Illinois) In collaboration with Siwakorn Srisakaokul, Blake Bassett, Peyman Mahdian and.
1 Exposing Behavioral Differences in Cross-Language API Mapping Relations Hao Zhong Suresh Thummalapenta Tao Xie Institute of Software, CAS, China IBM.
Improving Structural Testing of Object-Oriented Programs via Integrating Evolutionary Testing and Symbolic Execution Kobi Inkumsah Tao Xie Dept. of Computer.
CS527 Topics in Software Engineering (Software Testing and Analysis) Darko Marinov September 7, 2010.
Stories of the past and a future topic on API recommendation Qirun Zhang.
Random Test Generation of Unit Tests: Randoop Experience
Wujie Zheng 1, Hao Ma 2, Michael Lyu 1, Tao Xie 3, and Irwin King 1,4 1 CUHK, 2 Microsoft Research, 3 NCSU, 4 AT&T Labs Nov. 9, 2011 Mining Test Oracles.
Chapter 0: Introduction
Object-Oriented Concepts
Dynamic Symbolic Execution
Java Course Review.
WSRec: A Collaborative Filtering Based Web Service Recommender System
Methods Chapter 6.
JavaScript Objects.
Using Execution Feedback in Test Case Generation
Lecture 2 of Computer Science II
CS 536 / Fall 2017 Introduction to programming languages and compilers
Ruru Yue1, Na Meng2, Qianxiang Wang1 1Peking University 2Virginia Tech
Marcelo d’Amorim (UIUC)
group work #hifiTeam
Eclat: Automatic Generation and Classification of Test Inputs
Tuan Anh Nguyen, Christoph Csallner
Cross-library API Recommendation Using Web Search Engines
Genetic Features of Aflatoxin-Associated Hepatocellular Carcinoma
Qualities of a Digital Marketing Executive
Object Oriented Programming in java
Software Testing: A Research Travelogue
Classes CS 21a: Introduction to Computing I
Homework Assignment #1 due: 19 Sep start of class. Hardcopy please.
More on natural image matting
CSE 303 Concepts and Tools for Software Development
Presentation transcript:

Random Unit-Test Generation with MUT-aware Sequence Recommendation Wujie Zheng, Qirun Zhang, Michael Lyu Tao Xie The Chinese University of Hong Kong North Carolina State University Problem To find method-call sequences that generate desired inputs of a method under test (MUT). The inputs include the receiver and arguments. A desired object may need to be prepared by not only the constructors but also some other methods. // An example sequence for Stack.search(Object); var0 is the receiver, var1 is the argument Stack var0 = new Stack(); String var1 = "hi!"; var0.push((Object)var1); int var2 = var0.search(var1); Challenge The search space of possible method-call sequences is very large. Approach MUT-aware sequence recommendation To analyze object fields accessed by a MUT and recommend a short sequence that mutates these fields. Correlation weight The percentage of methods mutating fields accessed by the MUT in a sequence. Size weight The inverse of the number of methods in a sequence. Weighted Random Selection Select sequences randomly based on the equal combination of the two weights. RecGen: Recommendation based Test Generation 1 Idea A method can affect the execution of the MUT only if it creates an input or mutate an input’s fields accessed by the MUT. Experiments Three subjects Compared with JCrasher [1], Randoop [4], and ARTGen [2] References [1] C. Csallner and Y. Smaragdakis. JCrasher: an automatic robustness tester for Java. Softw., Pract. Exper., 34(11):1025–1050, 2004. [2] Y. Lin, X. Tang, Y. Chen, and J. Zhao. A divergence-oriented approach to adaptive random testing of Java programs. In ASE, pages 221–232, 2009. [3] F. Long, X. Wang, and Y. Cai. API hyperlinking via structural overlap. In ESEC/SIGSOFT FSE, pages 203–212, 2009. [4] C. Pacheco, S. K. Lahiri, M. D. Ernst, and T. Ball. Feedback-directed random test generation. In ICSE, pages 75–84, 2007. [5] S. Thummalapenta, T. Xie, N. Tillmann, J. de Halleux, and W. Schulte. MSeqGen: object-oriented unit-test generation via mining source code. In ESEC/SIGSOFT FSE, pages 193–202, 2009. openDatabase() calls setupDatabase() calls getAllowCreate() accesses allowCreate setAllowCreate() accesses allowCreate To test openDatabse(), for sequences that generate DatabaseConfig objects, we prefer the sequences that call setAllowCreate()