Got a YouTube account?

New: enable viewer-created translations and captions on your YouTube channel!

English subtitles

← Defect Maps - Software Debugging

Get Embed Code
2 Languages

Showing Revision 3 created 05/25/2016 by Udacity Robot.

  1. So, we now have seen that whenever a user reports a problem in the problem database
  2. or a developer for that matter or anyone,
  3. eventually a developer or a team of developers will take a look at the problem
  4. and make an appropriate fix to the program.
  5. Such fixes are also stored in a database--
  6. namely, a version database where all changes are stored.
  7. Such a version database is also called a change database,
  8. a repository, or the configuration management system, a version control system.
  9. Pick your choice.
  10. There are plenty of version control systems around these days
  11. which help storing these changes and the resulting versions.
  12. Since using a version database is the first thing to use in any kind
  13. of civilized software development,
  14. I will simply assume that you use such a thing on a daily basis anyway.
  15. An interesting thing happens, however, when you link the information
  16. from the problem database to the information from the version database.
  17. Let's assume that the problem database has a problem report #347
  18. where it says removehtmlmarkup fails.
  19. Let's assume the version database has recorded a change
  20. to function name removehtmlmarkup in precisely this location
  21. with a comment that this now closes problem report #347,
  22. which is a change which may well have been made after the problem was initially submitted.
  23. We can now got and relate the change to the actual problem report,
  24. because the change message has the actual number of the problem report in here,
  25. and we can use that to retrieve the precise problem report.
  26. Since we also know where the change has been applied,
  27. namely in this part of the file,
  28. we now have a link from the problem database to a specific place in the code.
  29. This allows us for every piece of code to identify
  30. the problems that were associated with it.
  31. What we do is we take the piece of code, look at all the changes that were made,
  32. and look at the problems that these changes refer to.
  33. We can then, for instance, find that removehtmlmarkup
  34. over the history of this very course has had three fixes
  35. until it finally worked.
  36. Three fixes until a function actually works is pretty bad.
  37. We should really worry about the quality of our coding.