Teaching and Learning Programming and Software Engineering via Interactive Gaming

Download Teaching and Learning Programming and Software Engineering  via Interactive Gaming

Post on 15-Feb-2016

40 views

Category:

Documents

0 download

DESCRIPTION

secret. https:// www.codehunt.com. Teaching and Learning Programming and Software Engineering via Interactive Gaming. http://pex4fun.com. Tao Xie University of Illinois at Urbana-Champaign. In collaboration with Nikolai Tillmann , Jonathan de Halleux , and Judith Bishop - PowerPoint PPT Presentation

TRANSCRIPT

PowerPoint PresentationTeaching and Learning Programming and Software Engineering via Interactive GamingTao XieUniversity of Illinois at Urbana-ChampaignIn collaboration with Nikolai Tillmann, Jonathan de Halleux, and Judith Bishop(Microsoft Research)secrethttp://pex4fun.comhttps://www.codehunt.comRelated Papers/Resources: https://sites.google.com/site/asergrp/projects/ese Testing Tool Educational GamingDynamic Symbolic Execution (Pex)secretPex for Fun: Interactive Gaming for Teaching and LearningSupporthttp://research.microsoft.com/pex/http://pex4fun.comhttps://www.codehunt.comAgendaBackgroundCoding DuelsEducational PlatformExperiencesConclusionAgendaBackgroundCoding DuelsEducational PlatformExperiencesConclusionhttp://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 pathsBackgroundhttp://research.microsoft.com/pex/void CoverMe(int[] a){ if (a == null) return; if (a.Length > 0) if (a[0] == 1234567890) throw new Exception("bug");}a.Length>0a[0]==123TFTFFa==nullTConstraints to solve a!=null a!=null &&a.Length>0 a!=null &&a.Length>0 &&a[0]==123456890Inputnull{}{0}{123}Execute&MonitorSolveChoose next pathObserved constraintsa==nulla!=null &&!(a.Length>0)a==null &&a.Length>0 &&a[0]!=1234567890a==null &&a.Length>0 &&a[0]==1234567890Done: There is no path left.Dynamic Symbolic Execution in Pexhttp://pex4fun.com/HowDoesPexWork7777Coding Duels1,463,179 clicked 'Ask Pex!'Coding DuelsPex computes semantic diff in cloudsecret reference implementation vs.code written in browserYou win when Pex finds no differencessecretFor more info, see our ICSE 2013 SEE paper: http://web.engr.illinois.edu/~taoxie/publications/icse13see-pex4fun.pdf Behind the Scene of Pex for FunSecret Implementation class Secret { public static int Puzzle(int x) { if (x

Recommended

View more >