Your SlideShare is downloading. ×
Smart debugger
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Smart debugger

222
views

Published on

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
222
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Smart Debugger Tao He elfinhe@gmail.com Software Engineering Laboratory Department of Computer Science, Sun Yat-Sen University 1/20
  • 2. Framework 2/20
  • 3. User Case 1: Student  Help Freshmen, those who beaten by Sicily Online Judge  Find bugs ! No more WA’s!http://soj.me 3/20
  • 4. User Case 2: Programmer  Help Programmers  Manage their program and test cases  Automate the revision control processhttp://code.google.com/intl/en/projecthosting/ 4/20
  • 5. User Case 3: Researcher  Help Researchers  Visualize to Experiment Results  Provide feedback, generate new Hypothesis  User Studyhttp://cobertura.sourceforge.net/ 5/20http://pleuma.cc.gatech.edu/aristotle/Tools/
  • 6. More User Cases Game  Competition: Bug Labelerhttp://images.google.com/imagelabeler/ 6/20
  • 7. More User Cases Game  Competition: Challengehttp://www.topcoder.com/ 7/20
  • 8. Student TeacherData Flow 1:Student Source Code Test Case Instrument & Run Run Coverage Run Result Compute Metrics Ranked Coverage Entities Student 8/20
  • 9. ProgrammerData Flow 2:Programmer Source Code Test Case Instrument & Run Run Coverage Run Result Compute Metrics Ranked Coverage Entities Programmer 9/20
  • 10. 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
  • 11. 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
  • 12. 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
  • 13. 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
  • 14. 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
  • 15. 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
  • 16. Front-end 16/20
  • 17. Thank you! 17/20