How to Write a Problem Report

Before sending a bug report to Maple Bugs Encyclopaedia, you may wish to read the guidelines on writing a problem report.

If you follow these, your bug report has a much higher chance of being processed promptly.

We find two recommendations on the point to be very useful.

Wolfram Research, Inc. recommends:


Please describe only one problem per report. Useful reports include:


To write an effective description of the problem, you should:

It is much better to give too much detail than to say too little.


Christopher Creutzig of SciFace Software GmbH recommends

Why You Should Read This

Simply put, the more effectively you report a bug, the more likely an engineer will actually fix it. These bug writing guidelines are an attempt at a general tutorial on writing effective bug reports. You may have to deviate from it at places, but you should always know why.

How to Write a Useful Bug Report

Useful bug reports are ones that get bugs fixed. A useful bug report normally has two qualities:

Reproducible. If an engineer can't see it or conclusively prove that it exists, the engineer will probably stamp it "WORKSFORME" or "INVALID", and move on to the next bug. Every detail you can provide helps.

Specific. The quicker the engineer can isolate the issue to a specific problem, the more likely it'll be expediently fixed. (If a programmer or tester has to decipher a bug, they spend more time cursing the submitter than fixing or testing the problem.)
So, assume you have found a bug in MuPAD. There are several ways to report this:

BAD: "MuPAD crashed. I had worked on it for only four hours, so I just send you my notebook, OK? By the way, the command f(x):=sin(x) doesn't work, you should fix this so someone will actually use your product."

GOOD: "The input below gives rise to the error message 'Error: Infinite recursion in output detected'. How can I make MuPAD print complex numbers in polar form?

>> unprotect(DOM_COMPLEX):
>> DOM_COMPLEX::print:= x -> hold(_mult)(abs(x),
&> hold(exp)(I*arg(Re(x), Im(x))))

I confirmed that this is the case with MuPAD Pro 2.0 on a Windows 2000 machine and with MuPAD 2.0 on a SuSE Linux 7.1 system.

How to Enter your Useful Bug Report into the MuPAD bug database

Before you enter your bug, use the Query Page to determine whether the defect you've discovered is a known bug, and has already been reported. (If your bug is the 37th duplicate of a known issue, you're more likely to annoy the engineer. Annoyed engineers fix fewer bugs.)

Next, be sure that you've reproduced your bug using a recent version of MuPAD. (Engineers tend to be most interested in problems afflicting the code base that they're actively working on, rather than those in a code base that's hundreds of bug fixes obsolete.)

If you've discovered a new bug using a current build, report it in the database:

From your Bugzilla main page, choose "Enter a new bug".
Select the category you think the bug belongs to.
Enter your E-mail address, Password, and press the "Login" button. (If you don't yet have a password, leave the password text box empty, and press the "E-mail me a password" button instead. You'll receive an E-mail message with your password shortly.)
Now, fill out the form. Here's what it all means:

Where did you find the bug?

Product: In which product did you find the bug?
You just filled this out on the last page.

Version: In which product version did you find the bug?
If applicable.

Component: In which component does the bug exist?
Bugzilla requires that you select a component to enter a bug. For example, bugs in the documentation of MuPAD are categorized according to the paper in which they occur. (If the components all look meaningless, click on the Component link, which links to descriptions of each component, to help you make the best choice.)

Platform: On which hardware platform did you find this bug? (e.g. Macintosh, SGI, Sun, PC.)
If you know the bug happens on all hardware platforms, choose 'All'. Otherwise, select the platform that you found the bug on, or "Other" if your platform isn't listed.

OS: On which Operating System (OS) did you find this bug? (e.g. Linux, Windows NT, Mac OS 8.5.)
If you know the bug happens on all OSs, choose 'All'. Otherwise, select the OS that you found the bug on, or "Other" if your OS isn't listed.

How important do you think the bug is?

Severity: How damaging is the bug?
This item defaults to 'normal'. (To determine the most appropriate severity for a particular bug, click on the Severity link for a full explanation of each choice, from Critical to Enhancement.)

Who will be following up on the bug?

Cc: Apart from you, who else should receive e-mail updates on changes to this bug?
List the full e-mail addresses of other individuals who should receive an e-mail update upon every change to the bug report. You can enter as many e-mail addresses as you'd like; e-mail addresses must be separated by commas, with no spaces between the addresses.

What else can you tell the engineer about the bug?

Summary: How would you describe the bug, in approximately 60 or fewer characters?
A good summary should quickly and uniquely identify a bug report. Otherwise, developers cannot meaningfully query by bug summary, and will often fail to pay attention to your bug report when reviewing a 10 page bug list.

A summary of "PCMCIA install fails on Tosh Tecra 780DVD w/ 3c589C" is a useful title. "Software fails" or "install problem" would be examples of a bad title.

Description: What else can you tell the engineer about this bug?
Please provide as detailed of a problem diagnosis in this field as possible, including actual inputs leading to erroneous behavior.

Where applicable, using the following bug report template will help ensure that all relevant information comes through:

Overview Description: More detailed expansion of summary.

Drag-and-Drop does not work in the "Open File" box
Steps to Reproduce: The minimal set of steps necessary to trigger the bug. Include any special setup steps.

1) Chose "Open File" from the "File" menu.

2) Switch to the Windows Explorer.

3) Drag a MuPAD notebook from the Explorer to the "Open File" dialog.
I used the supplied "demo.mnb".

Actual Results: What the application did after performing the above steps.

Nothing happened.
Expected Results: What the application should have done, were the bug not present.

The "Open File"
dialog should select the directory from which I dragged a file into it
and in this directory, select the file I dragged.
Build Date & Platform: Date and platform of the build that you first encountered the bug in.

MuPAD Pro 2.0.0 on Windows ME
Additional Builds and Platforms: Whether or not the bug takes place on other platforms or browsers.

Does occur with MuPAD Light 2.0.0 on Windows ME, too.

Additional Information: Any other debugging information. For crashing bugs:

Win32: if you receive a Dr. Watson error, please note the type of the crash, and the module that the application crashed in. (e.g. access violation in apprunner.exe)
Mac OS: if you're running MacsBug, please provide the results of a how and an sc.
Unix/Linux: Please include all error messages you got. If a core file has been generated, please store it. An engineer may ask you for it.

*** MACSBUG STACK CRAWL OF CRASH (Mac OS)

Calling chain using A6/R1 links
Back chain ISA Caller
00000000 PPC 0BA85E74
03AEFD80 PPC 0B742248
03AEFD30 PPC 0B50FDDC NSGetFactory+027FC
PowerPC unmapped memory exception at 0B512BD0 NSGetFactory+055F0
You're done!

After double-checking your entries for any possible errors, press the "Commit" button, and your bug report will now be in the MuPAD bug database. You will receive notices by mail whenever the status of your bug has changed (i.e., when an engineer confirms that this bug is reproducible here and has taken over responsibility, when the bug has been fixed and so on).

 

This text is based on work by Claudius Gayle, Peter Mock, Chris Pratt, Tom Schutter, Chris Yeh, and Eli Goldberg

Send all comments or questions to info@maple.bug-list.org.

 

Maple Bug Encyclopaedia Home

© 2003-2010 Cyber Tester Ltd.

All rights reserved. All logos and trademarks are property of their respective owners.