16
Pex4Fun: A Web- Based Environment for Educational Gaming via Automated Test Generation Tao Xie North Carolina State University Nikolai Tillmann Jonathan de Halleux Microsoft Research Judith Bishop Microsoft Research secret http://pex4fun.co

Pex4Fun: A Web-Based Environment for Educational Gaming via Automated Test Generation

  • Upload
    kayo

  • View
    32

  • Download
    0

Embed Size (px)

DESCRIPTION

secret. Pex4Fun: A Web-Based Environment for Educational Gaming via Automated Test Generation. http://pex4fun.com. Nikolai Tillmann Jonathan de Halleux Microsoft Research . Tao Xie North Carolina State University. Judith Bishop Microsoft Research . - PowerPoint PPT Presentation

Citation preview

Page 1: Pex4Fun: A Web-Based Environment for Educational Gaming via Automated Test Generation

Pex4Fun: A Web-Based Environment for Educational Gaming via Automated Test Generation

Tao XieNorth Carolina State University

Nikolai Tillmann Jonathan de HalleuxMicrosoft Research

Judith Bishop Microsoft Research

secret

http://pex4fun.com

Page 2: Pex4Fun: A Web-Based Environment for Educational Gaming via Automated Test Generation

Testing Tool Educational Gaming

Dynamic Symbolic Execution (Pex)

secret

Pex for Fun: Interactive Gaming for Teaching and Learning

Support

http://research.microsoft.com/pex/ http://pex4fun.com

Page 3: Pex4Fun: A Web-Based Environment for Educational Gaming via Automated Test Generation

http://research.microsoft.com/pex/

Dynamic Symbolic Execution (DSE) aka. Concolic Testing [Godefroid et al. 05][Sen et al. 05][Tillmann et al. 08]

Instrument code to explore feasible paths

Background

Page 4: Pex4Fun: A Web-Based Environment for Educational Gaming via Automated Test Generation

http://research.microsoft.com/pex/

Page 5: Pex4Fun: A Web-Based Environment for Educational Gaming via Automated Test Generation

Coding Duels

1,378,742 clicked 'Ask Pex!'

Page 6: Pex4Fun: A Web-Based Environment for Educational Gaming via Automated Test Generation

Example User Feedback

“It really got me *excited*. The part that got me most is about spreading interest in teaching CS: I do think that it’s REALLY great for teaching | learning!”

“I used to love the first person shooters and the satisfaction of blowing away a whole team of Noobies playing Rainbow Six, but this is far more fun.”

“I’m afraid I’ll have to constrain myself to spend just an hour or so a day on this really exciting stuff, as I’m really stuffed with work.”

Released since 2010

X

Page 7: Pex4Fun: A Web-Based Environment for Educational Gaming via Automated Test Generation

Coding Duels

Pex computes “semantic diff” in cloudsecret reference implementation vs.code written in browserYou win when Pex finds no differences

secret

Page 8: Pex4Fun: A Web-Based Environment for Educational Gaming via Automated Test Generation

Behind the Scene of Pex for Fun

Secret Implementation

class Secret { public static int Puzzle(int x) { if (x <= 0) return 1; return x * Puzzle(x-1); }}

Player Implementation

class Player { public static int Puzzle(int x) { return x; }}

class Test {public static void Driver(int x) { if (Secret.Puzzle(x) != Player.Puzzle(x)) throw new Exception(“Mismatch”); }}

behaviorSecret Impl == Player Impl

8

Page 9: Pex4Fun: A Web-Based Environment for Educational Gaming via Automated Test Generation

Coding DuelsFun and Engaging

Iterative gameplayAdaptivePersonalizedNo cheatingClear winning criterion

Page 10: Pex4Fun: A Web-Based Environment for Educational Gaming via Automated Test Generation

Teaching and Learning

Page 11: Pex4Fun: A Web-Based Environment for Educational Gaming via Automated Test Generation

Coding Duel Competition @ICSE 2011

http://pexforfun.com/icse2011

Page 12: Pex4Fun: A Web-Based Environment for Educational Gaming via Automated Test Generation

Outlook: redesign as game

Page 13: Pex4Fun: A Web-Based Environment for Educational Gaming via Automated Test Generation

Usage Scenarios of Pex4Fun

• Massive Open Online Courses (MOOC)

• Course assignments (students/professionals)

• Student/professional competitions

• Assessment of testing, programming, problem solving skills for job applicants

Page 14: Pex4Fun: A Web-Based Environment for Educational Gaming via Automated Test Generation

Summary: Testing Tool Educational Gaming

DSE/Pex

secret

Pex for Fun:

Interactive Gaming for

Teaching and Learning

Support

http://research.microsoft.com/pex/ http://pex4fun.com

Page 15: Pex4Fun: A Web-Based Environment for Educational Gaming via Automated Test Generation

Coding Duels for Course Assignments

@Grad Software Engineering Course

http://pexforfun.com/gradsofteng

Observed Benefits• Automatic Grading• Real-time Feedback (for Both Students and Teachers)• Fun Learning Experiences

Page 16: Pex4Fun: A Web-Based Environment for Educational Gaming via Automated Test Generation

Skills Being Trained

InductionProblem solving/debuggingProgram understanding/programmingTestingSpecification writing