Smart debugger
Upcoming SlideShare
Loading in...5

Smart debugger






Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Smart debugger Smart debugger Presentation Transcript

  • Smart Debugger Tao He Software Engineering Laboratory Department of Computer Science, Sun Yat-Sen University 1/20
  • Framework 2/20
  • User Case 1: Student  Help Freshmen, those who beaten by Sicily Online Judge  Find bugs ! No more WA’s! 3/20
  • User Case 2: Programmer  Help Programmers  Manage their program and test cases  Automate the revision control process 4/20
  • User Case 3: Researcher  Help Researchers  Visualize to Experiment Results  Provide feedback, generate new Hypothesis  User Study 5/20
  • More User Cases Game  Competition: Bug Labeler 6/20
  • More User Cases Game  Competition: Challenge 7/20
  • Student TeacherData Flow 1:Student Source Code Test Case Instrument & Run Run Coverage Run Result Compute Metrics Ranked Coverage Entities Student 8/20
  • ProgrammerData Flow 2:Programmer Source Code Test Case Instrument & Run Run Coverage Run Result Compute Metrics Ranked Coverage Entities Programmer 9/20
  • BenchmarkData Flow 3: Golden Source Code InputResearcher Mutate Run & Generate Oracle Faulty Source Benchmark Test Case Code Instrument & Run Run Coverage Run Result Compute Metrics Ranked Coverage Entities Evaluation Results for Evaluation Researcher 10/20
  • Data DictionaryDataProblem E.g. Grep ScaleProgram Problem 1 Program 5 versionEntity Fault 21 / 9 / 19 / 12 / 1Test Suite Entity 10929 Test Suite 1Test Case Test Case 470 v0_1.tsl.universeRun Run 470 Run Result 470Run Result Coverage 470*10000=4.7*10^6Coverage 11/20
  • ER Diagram Problem 1 TestedBy 1 TestSuite 1 1 Include SolvedBy n TestCase 1 n Program 1 Run Result 1 1 ConsistOf Coverage n n Entity n Cover 12/20
  • ER Coverage CollectionDiagram ProblemID Title Description TestSuiteID Title TestCaseID Problem 1 TestedBy n TestSuite 1 Input 1 Include Oracle SolvedBy n TimeLimit ProgramID n TestCase SubmitTime MemoryLimit RunTime 1 1 CodeLength Program 1 PassedRun RunID RunTime FailedRun RunID 1 LOC 1 Result RunMemory Result 1 ConsistOf Coverage Language CoverageID CoverTableName RunMemory n n EntityID Entity Output 1 CoverFor Program001 CoverFor Program002 ……. ConsistOf Type Map Entity001 Entity001 n n Count Count 1 Line Entity001 Entity001 Count Count ……. ……. LineID n CoverID CoverID Evaluation n for is is SelectCoverage ClusterAnalysis CauseBy n n 1 n n Coincidental GoldenProgram Fault Correctness CoverageMetrix Cluster n is is FaultLocalization n 1 n Coverage FailureCluster RankedEntities Equivalence 13/20
  • Problem TestSuite u:C PK ProblemID d:C PK TestSuiteIDRelation Title Description Title FK1 ProblemIDSchema u:C u:C d:C d:C Program TestCase PK ProgramID PK TestCaseID SubmitTime Input CodeLength Oracle LOC TimeLimit Language MemoryLimit FaultCount FK1 TestSuiteID FK1 ProblemID u:C u:C d:C d:C Run u:C d:C PK RunID Entity Result PK EntityID Output RunTime Type RunMemory isFaulty IsConcidentalCorrectness FK1 ProgramID FK1 TestCaseID FK2 ProgramID u:R FK3 CoverageID d:R u:R Cover d:R Coverage PK CoverID PK CoverageID Count u:R FK1 EntityID d:R FK2 CoverageID 14/20
  • OOD What is OO?  Encapsulation?  Inheritance?  Polymorphism? Do we need Design Patterns in Python? What is interface?  File Format  Java Interface  Python Function Do we need configuration file, now? 15/20
  • Front-end 16/20
  • Thank you! 17/20