advertisement

Extracting Structural Information from Bug Reports.

40 %
60 %
advertisement
Information about Extracting Structural Information from Bug Reports.

Published on October 5, 2008

Author: nicbet

Source: slideshare.net

Description

Bug Reports are usually treated as text. This is sub-optimal, since bug reports contain many structural elements, such as stack traces, source code, patches, enumerations or screenshots, that should not be treated as natural language text. Using this structured information can be used to faciliate better research processes and automated bug fixing techniques. We propose the infoZilla tool, that can detect and extract structural elements from bug reports and display its high presicion and recall.
advertisement

Extracting Structural Information from Bug Reports Nicolas Bettenburg Rahul Premraj Tom Zimmermann Sunghun Kim Saarland University, Germany Saarland University, Germany University of Calgary, Canada MIT CSAIL, Boston, USA

Bug Reports Bug 137808 Summary: Exceptions from createFromString lock-up the editor Product: [Modeling] EMF Reporter: Patrick Sodre <psodre@gmail.com> Component: Core Assignee: Marcelo Paternostro <marcelop@ca.ibm.com> Status: VERIFIED FIXED QA Contact: Severity: normal Priority: P3 CC: merks@ca.ibm.com Version: 2.2 Target Milestone: --- Hardware: PC OS: Windows XP Whiteboard: Opened: 2006-04-20 14:25 - Description: 0400 As discussed on the newsgroup under the Thread with the same name I am opening this bug entry. Here is a history of the thread. -- From Ed Merks Patrick, The value is checked before it's applied and can't be applied until it's valid. But this BigDecimal cases behaves oddly because the exception thrown by new BigDecimal(quot;badvaluequot;) has a null message and the property editor relies on returning a non-null message string to indicate there is an error. Please open a bugzilla which I'll fix like this: ### Eclipse Workspace Patch 1.0 #P org.eclipse.emf.edit.ui In standard approaches: entirely treated as text. Index: src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java =================================================================== RCS file: /cvsroot/tools/org.eclipse.emf/plugins/org.eclipse.emf.edit.ui/src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java,v retrieving revision 1.10 diff -u -r1.10 PropertyDescriptor.java --- src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java 21 Mar 2006

Bug Reports But they Bug 137808 Summary: Exceptions from createFromString lock-up the editor Product: [Modeling] EMF Reporter: Patrick Sodre <psodre@gmail.com> Component: Core Assignee: Marcelo Paternostro <marcelop@ca.ibm.com> Status: VERIFIED FIXED QA Contact: contain Severity: normal Priority: P3 CC: merks@ca.ibm.com Version: 2.2 Target Milestone: --- Hardware: PC more OS: Windows XP Whiteboard: Opened: 2006-04-20 14:25 - Description: 0400 As discussed on the newsgroup under the Thread with the same name I am opening this bug entry. Here is a history of the thread. -- From Ed Merks Patrick, The value is checked before it's applied and can't be applied until it's valid. But this BigDecimal cases behaves oddly because the exception thrown by new BigDecimal(quot;badvaluequot;) has a null message and the property editor relies on returning a non-null message string to indicate there is an error. Please open a bugzilla which I'll fix like this: ### Eclipse Workspace Patch 1.0 #P org.eclipse.emf.edit.ui In standard approaches: entirely treated as text. Index: src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java =================================================================== RCS file: /cvsroot/tools/org.eclipse.emf/plugins/org.eclipse.emf.edit.ui/src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java,v retrieving revision 1.10 diff -u -r1.10 PropertyDescriptor.java --- src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java 21 Mar 2006

Bug 137808 Summary: Exceptions from createFromString lock-up the editor Product: [Modeling] EMF Reporter: Patrick Sodre <psodre@gmail.com> Component: Core Assignee: Marcelo Paternostro <marcelop@ca.ibm.com> Status: VERIFIED FIXED QA Contact: Severity: normal Priority: P3 CC: merks@ca.ibm.com Version: 2.2 Target Milestone: --- Hardware: PC OS: Windows XP Whiteboard: Opened: 2006-04-20 14:25 - Description: 0400 As discussed on the newsgroup under the Thread with the same name I am opening this bug entry. Here is a history of the thread. -- From Ed Merks Patrick, The value is checked before it's applied and can't be applied until it's valid. But this BigDecimal cases behaves oddly because the exception thrown by new BigDecimal(quot;badvaluequot;) has a null message and the property editor relies on returning a non-null message string to indicate there is an error. Please open a bugzilla which I'll fix like this: ### Eclipse Workspace Patch 1.0 #P org.eclipse.emf.edit.ui Index: src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java =================================================================== RCS file: /cvsroot/tools/org.eclipse.emf/plugins/org.eclipse.emf.edit.ui/src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java,v retrieving revision 1.10 diff -u -r1.10 PropertyDescriptor.java --- src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java 21 Mar 2006 16:42:30 -0000 1.10 +++ src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java 20 Apr 2006

Bug 137808 Summary: Exceptions from createFromString lock-up the editor Product: [Modeling] EMF Reporter: Patrick Sodre <psodre@gmail.com> Component: Core Assignee: Marcelo Paternostro <marcelop@ca.ibm.com> Status: VERIFIED FIXED QA Contact: Severity: normal Priority: P3 CC: merks@ca.ibm.com Version: 2.2 Target Milestone: --- Hardware: PC OS: Windows XP Whiteboard: Opened: 2006-04-20 14:25 - Description: 0400 As discussed on the newsgroup under the Thread with the same name I am opening this bug entry. Here is a history of the thread. -- From Ed Merks Patrick, The value is checked before it's applied and can't be applied until it's valid. But this BigDecimal cases behaves oddly because the exception thrown by new BigDecimal(quot;badvaluequot;) has a null message and the property editor relies on returning a non-null 1 Source Code message string to indicate there is an error. Please open a bugzilla which I'll fix like this: ### Eclipse Workspace Patch 1.0 #P org.eclipse.emf.edit.ui Index: src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java =================================================================== RCS file: /cvsroot/tools/org.eclipse.emf/plugins/org.eclipse.emf.edit.ui/src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java,v retrieving revision 1.10 diff -u -r1.10 PropertyDescriptor.java --- src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java 21 Mar 2006 16:42:30 -0000 1.10 +++ src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java 20 Apr 2006

Bug 137808 Summary: Exceptions from createFromString lock-up the editor Product: [Modeling] EMF Reporter: Patrick Sodre <psodre@gmail.com> Component: Core Assignee: Marcelo Paternostro <marcelop@ca.ibm.com> Status: VERIFIED FIXED QA Contact: Severity: normal Priority: P3 CC: merks@ca.ibm.com Version: 2.2 Target Milestone: --- Hardware: PC OS: Windows XP Whiteboard: Opened: 2006-04-20 14:25 - Description: 0400 As discussed on the newsgroup under the Thread with the same name I am opening this bug entry. Here is a history of the thread. -- From Ed Merks Patrick, The value is checked before it's applied and can't be applied until it's valid. But this BigDecimal cases behaves oddly because the exception thrown by new BigDecimal(quot;badvaluequot;) has a null message and the property editor relies on returning a non-null 1 Source Code message string to indicate there is an error. Please open a bugzilla which I'll fix like this: ### Eclipse Workspace Patch 1.0 #P org.eclipse.emf.edit.ui Index: src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java =================================================================== RCS file: /cvsroot/tools/org.eclipse.emf/plugins/org.eclipse.emf.edit.ui/src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java,v retrieving revision 1.10 diff -u -r1.10 PropertyDescriptor.java --- src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java 21 Mar 2006 16:42:30 -0000 1.10 +++ src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java 20 Apr 2006

11:59:10 -0000 @@ -162,7 +162,8 @@ } catch (Exception exception) { - return exception.getMessage(); + String message = exception.getMessage(); + return message == null ? exception.toString() : message; } } Diagnostic diagnostic = Diagnostician.INSTANCE.validate(EDataTypeCellEditor.this.eDataType, value); Patrick Sodre wrote: Hi, It seems that if the user inputs an invalid parameter that gets created from quot;createFromStringquot; the Editor locks-up until the user explicitly calls quot;restore 2 Default Valuequot;. Is this the expected behavior or could something better be done? For instance if an exception is thrown restore the value back to what it was before Patch after displaying a pop-up error message. I understand that for DataTypes defined by the user he/she should take care of catching the exceptions but for the default ones like BigInteger/BigDecimal I think the EMF runtime could do some of the grunt work... If you think this is something worth pursuing I could post an entry in Bugzilla. Regards, Patrick Sodre Below is the stack trace that I got from the Editor... java.lang.NumberFormatException at java.math.BigDecimal.<init>(BigDecimal.java:368) at java.math.BigDecimal.<init>(BigDecimal.java:647) at org.eclipse.emf.ecore.impl.EcoreFactoryImpl.createEBigDecimalFromString(EcoreFactoryImpl.java:559) at org.eclipse.emf.ecore.impl.EcoreFactoryImpl.createFromString(EcoreFactoryImpl.java:116) at org.eclipse.emf.edit.ui.provider.PropertyDescriptor$EDataTypeCellEditor.doGetValue(PropertyDescriptor.java:183) at org.eclipse.jface.viewers.CellEditor.getValue(CellEditor.java:449) at org.eclipse.ui.views.properties.PropertySheetEntry.applyEditorValue(PropertySheetEntry.java:135) at org.eclipse.ui.views.properties.PropertySheetViewer.applyEditorValue(PropertySheetViewer.java:249) at ------- Comment #1 From Ed Merks 2006-04-20 15:09:23 -0400 ------- The fix has been committed to CVS. Thanks for reporting this problem.

11:59:10 -0000 @@ -162,7 +162,8 @@ } catch (Exception exception) { - return exception.getMessage(); + String message = exception.getMessage(); + return message == null ? exception.toString() : message; } } Diagnostic diagnostic = Diagnostician.INSTANCE.validate(EDataTypeCellEditor.this.eDataType, value); Patrick Sodre wrote: Hi, It seems that if the user inputs an invalid parameter that gets created from quot;createFromStringquot; the Editor locks-up until the user explicitly calls quot;restore 2 Default Valuequot;. Is this the expected behavior or could something better be done? For instance if an exception is thrown restore the value back to what it was before Patch after displaying a pop-up error message. I understand that for DataTypes defined by the user he/she should take care of catching the exceptions but for the default ones like BigInteger/BigDecimal I think the EMF runtime could do some of the grunt work... If you think this is something worth pursuing I could post an entry in Bugzilla. Regards, Patrick Sodre 3 Stack Trace Below is the stack trace that I got from the Editor... java.lang.NumberFormatException at java.math.BigDecimal.<init>(BigDecimal.java:368) at java.math.BigDecimal.<init>(BigDecimal.java:647) at org.eclipse.emf.ecore.impl.EcoreFactoryImpl.createEBigDecimalFromString(EcoreFactoryImpl.java:559) at org.eclipse.emf.ecore.impl.EcoreFactoryImpl.createFromString(EcoreFactoryImpl.java:116) at org.eclipse.emf.edit.ui.provider.PropertyDescriptor$EDataTypeCellEditor.doGetValue(PropertyDescriptor.java:183) at org.eclipse.jface.viewers.CellEditor.getValue(CellEditor.java:449) at org.eclipse.ui.views.properties.PropertySheetEntry.applyEditorValue(PropertySheetEntry.java:135) at org.eclipse.ui.views.properties.PropertySheetViewer.applyEditorValue(PropertySheetViewer.java:249) at ------- Comment #1 From Ed Merks 2006-04-20 15:09:23 -0400 ------- The fix has been committed to CVS. Thanks for reporting this problem.

The infoZilla Tool Detects and Extracts such Bug 137808 Summary: Exceptions from createFromString lock-up the editor Product: [Modeling] EMF Reporter: Patrick Sodre <psodre@gmail.com> Component: Core Assignee: Marcelo Paternostro <marcelop@ca.ibm.com> Status: VERIFIED FIXED QA Contact: Structural Information: Severity: normal Priority: P3 CC: merks@ca.ibm.com Version: 2.2 Target Milestone: --- Hardware: PC OS: Windows XP Whiteboard: Opened: 2006-04-20 14:25 - Description: 0400 As discussed on the newsgroup under the Thread with the same name I am opening this bug entry. Here is a history of the thread. -- From Ed Merks SOURCE CODE Patrick, The value is checked before it's applied and can't be applied until it's valid. But this BigDecimal cases behaves oddly because the exception thrown by new BigDecimal(quot;badvaluequot;) has a null message and the property editor relies on returning a non-null message string to indicate there is an error. Please open a bugzilla which I'll fix like this: ### Eclipse Workspace Patch 1.0 #P org.eclipse.emf.edit.ui Index: src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java =================================================================== RCS file: /cvsroot/tools/org.eclipse.emf/plugins/org.eclipse.emf.edit.ui/src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java,v retrieving revision 1.10 diff -u -r1.10 PropertyDescriptor.java --- src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java 21 Mar 2006 16:42:30 -0000 1.10 PATCHES +++ src/org/eclipse/emf/edit/ui/provider/PropertyDescriptor.java 20 Apr 2006 11:59:10 -0000 @@ -162,7 +162,8 @@ } catch (Exception exception) { - return exception.getMessage(); + String message = exception.getMessage(); + return message == null ? exception.toString() : message; } } Diagnostic diagnostic = Diagnostician.INSTANCE.validate(EDataTypeCellEditor.this.eDataType, value); Patrick Sodre wrote: Hi, It seems that if the user inputs an invalid parameter that gets created from quot;createFromStringquot; the Editor locks-up until the user explicitly calls quot;restore Default Valuequot;. Is this the expected behavior or could something better be done? For instance if an exception is thrown restore the value back to what it was before after displaying a pop-up error message. STACK TRACES I understand that for DataTypes defined by the user he/she should take care of catching the exceptions but for the default ones like BigInteger/BigDecimal I think the EMF runtime could do some of the grunt work... If you think this is something worth pursuing I could post an entry in Bugzilla. Regards, Patrick Sodre Below is the stack trace that I got from the Editor... java.lang.NumberFormatException at java.math.BigDecimal.<init>(BigDecimal.java:368) at java.math.BigDecimal.<init>(BigDecimal.java:647) at org.eclipse.emf.ecore.impl.EcoreFactoryImpl.createEBigDecimalFromString(EcoreFactoryImpl.java:559) at org.eclipse.emf.ecore.impl.EcoreFactoryImpl.createFromString(EcoreFactoryImpl.java:116) at org.eclipse.emf.edit.ui.provider.PropertyDescriptor$EDataTypeCellEditor.doGetValue(PropertyDescriptor.java:183) at org.eclipse.jface.viewers.CellEditor.getValue(CellEditor.java:449) ENUMERATIONS at org.eclipse.ui.views.properties.PropertySheetEntry.applyEditorValue(PropertySheetEntry.java:135) at org.eclipse.ui.views.properties.PropertySheetViewer.applyEditorValue(PropertySheetViewer.java:249) at ------- Comment #1 From Ed Merks 2006-04-20 15:09:23 -0400 ------- The fix has been committed to CVS. Thanks for reporting this problem.

Evaluating the Performance BUG BUG BUG BUG REPORT REPORT REPORT REPORT 61334 61334 61334 61334 Has SOURCE Has STACK Has Has PATCHES ? CODE ? TRACES ? ENUMERATIONS ? YES NO YES NO YES NO YES NO A B C D E F G H

Evaluating the Performance BUG BUG BUG BUG REPORT REPORT REPORT REPORT 61334 61334 61334 61334 Has SOURCE Has STACK Has Has PATCHES ? CODE ? TRACES ? ENUMERATIONS ? YES NO YES NO YES NO YES NO A B C D E F G H ‣ Parse 161,500 reports from ECLIPSE.

Evaluating the Performance BUG BUG BUG BUG REPORT REPORT REPORT REPORT 61334 61334 61334 61334 Has SOURCE Has STACK Has Has PATCHES ? CODE ? TRACES ? ENUMERATIONS ? YES NO YES NO YES NO YES NO A B C D E F G H ‣ Parse 161,500 reports from ECLIPSE. ‣ From A ... H randomly sample 100 reports each.

Evaluating the Performance BUG BUG BUG BUG REPORT REPORT REPORT REPORT 61334 61334 61334 61334 Has SOURCE Has STACK Has Has PATCHES ? CODE ? TRACES ? ENUMERATIONS ? YES NO YES NO YES NO YES NO A B C D E F G H ‣ Parse 161,500 reports from ECLIPSE. ‣ From A ... H randomly sample 100 reports each. ‣ Manually inspect these 800 reports.

Detection of Elements 100% 98% 100% 99% 99% 100% 100% 90% 97% 95% 80% 70% 60% 50% 40% 30% 20% 10% 0% Precision Recall Source Code Patches Stack Traces Enumerations

Extraction of Elements 13% 4% 5% 91% 65% 21% Patches Source Code Extraction Performance: Perfect extraction More than 50% correct Less than 50% correct

Extraction of Elements 9% 2% 9% 84% 7% 89% Stack Traces Enumerations Extraction Performance: Perfect extraction More than 50% correct Less than 50% correct

Applications of infoZilla Do duplicates contain additional information?

Applications of infoZilla Do duplicates contain additional information? 494,302 23,857 318,526 7,909 Stack Traces Source Code Lines Amount of unique information available in: Original Reports Extended Reports (Original + Duplicates)

Applications of infoZilla Do duplicates contain additional information?

Applications of infoZilla Do duplicates contain additional information? Inspect crash patterns using stack traces. Support automated bug triaging.

Add a comment

Related pages

Extracting Structural Information from Bug Reports

Extracting Structural Information from Bug Reports Nicolas Bettenburg Saarland University nicbet@st.cs.uni-sb.de Rahul Premraj Saarland University
Read more

Extracting structural information from bug reports

In software engineering experiments, the description of bug reports is typically treated as natural language text, although it often contains stack traces ...
Read more

Extracting structural information from bug reports (PDF ...

Page 1. Extracting Structural Information from Bug Reports Nicolas Bettenburg Saarland University nicbet@st.cs.uni-sb.de Rahul Premraj Saarland University
Read more

Extracting Structural Information from Bug Reports ...

Extracting Structural Information from Bug Reports - MSR 2008 by Nicolas Bettenburg, Rahul Premraj, Thomas Zimmermann, Sunghun Kim
Read more

Extracting structural information from bug reports

Extracting structural information from bug reports,10.1145/1370750.1370757,Nicolas ... In order to extract stack trace information from bug reports ...
Read more

Extracting Structural Information from Bug Reports ...

Extracting Structural Information from Bug Reports. ... detects structural elements from bug reports with near perfect accuracy and allows us to extract ...
Read more

Extracting Structural Information from Bug Reports

Extracting Structural Information from Bug Reports. Download: PDF. “Extracting Structural Information from Bug Reports” by Nicolas Bettenburg, Rahul ...
Read more

Extracting Structural Information from Bug Reports (2008)

... we present a tool called infoZilla that detects structural elements from bug reports ... Structural Information from Bug Reports ... to extract them ...
Read more

Extracting structural information from bug reports

首页 > Extracting structural information from bug reports. Extracting structural information from bug reports. 作 ...
Read more