Java代写:CS350Debugging


回答测试相关的问题,如测试和调试之间有什么区别?测试和调试如何相互补充?测试是否一定是调试的先决条件?最后练习 log4j 的使用方法。
![log4j](https://upload.wikimedia.org/wikipedia/commons/thumb/f/f9/Apache_Log4j_Logo.png/250px-
Apache_Log4j_Logo.png)

Important Note

Homeworks are solo work. You may not share details of your solution/code with
anyone else in the class. No Late work will be accepted.

Part 1 - Debugging Basics and Problem Reporting

  1. a) What are the differences between testing and debugging? b) How testing and debugging complement each other? c) Is testing necessarily a prerequisite of debugging? Explain. (2 points)
  2. What are the major differences between a dedicated problem-tracking system such as BUGZILLA and a general organizing and messaging tool such as Microsoft Outlook? (2 points)
  3. Here is a link to an actual problem report on BUGZILLA about Firefox browser. Is this a bug report or feature request? What is the current status of the problem? What is the priority level? Who is assigned to work on this problem? Is this a perfect problem report? Justify your answer to the last question by elaborating on 1) what necessary information are included?, and 2) what necessary/important/“good-to-have” information are missing? (4 points)

Part 2 - Simplification

  1. The function bool geegg(String s) returns:
    * true, i.e.failure, if the string s contains three g characters or more
    * true, i.e. failure, if the string s contains two e characters or more
    * false, i.e. no failure, otherwise.
    For instance, geeg(“good eggs tomorrow”) returns true, and geeg(“no eggs
    today”) returns false.
    Apply ddmin() algorithm on the following inputs:
    * a. a-debugging-exam
    * b. as-easy-as-pie
    Write down all the steps ddmin() would take to simplify these inputs. (6
    points)
  2. The ddmin() algorithm finds only one possible 1-minimal input (i.e. an input where removing any single character makes the failure disappear). Sketch an extension of ddmin() algorithm that finds all possible 1-minimal inputs. (7 points)

Part 3 - Debugging by Observation

  1. Follow the instructions in SudokuSolver.java. Also, find SudokuSolverTest.java here. As part of the requirements, you will need to work with Log4j. A straightforward way to do so is to download Log4j binary and place “log4j-api-2.12.1.jar”, “log4j-core-2.12.1.jar”, and “log4j-1.2-api-2.12.1.jar” files in your classpath. Also, you may find this useful which provides explanations on Log4j’s architecture and how it works. (24 points)

文章作者: SafePoker
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 SafePoker !
  目录