Deadlock problems

483 views

Published on

Operating System Deadlock problems

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

  • Be the first to like this

No Downloads
Views
Total views
483
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Deadlock problems

  1. 1. What makes agood bug report? Nicolas Bettenburg Sascha Just Adrian Schröter Saarland University Saarland University Saarland University Cathrin Weiss Rahul Premraj Thomas Zimmermann Saarland University Saarland University Saarland University 1
  2. 2. What makes agood bug report? Nicolas Bettenburg Sascha Just Adrian Schröter Queen’s University Saarland University University of Victoria Cathrin Weiss Rahul Premraj Thomas Zimmermann University of Zurich Free Uni. Amsterdam University of Calgary
  3. 3. What makes agood bug report? Nicolas Bettenburg Sascha Just Adrian Schröter Queen’s University Saarland University University of Victoria Cathrin Weiss Rahul Premraj Thomas Zimmermann University of Zurich Free Uni. Amsterdam Microsoft Research
  4. 4. Bug 31021 Summary: Tree - Selection listener stops default expansion Product: [Eclipse] Platform Reporter: Veronika Irvine <veronika_irvine@ca.ibm.com> Component: SWT Assignee: Steve Northover <steve_northover@ca.ibm.com> Status: RESOLVED WONTFIX QA Contact: Severity: normal Priority: P3 Version: 2.1 Target Milestone: --- Hardware: PC OS: Windows XP Whiteboard: Opened: 2003-02-05 14:52 -Description: 0400I20030205Run the following example. Double click on a tree item and notice that it doesnot expand.Comment out the Selection listener and now double click on any tree item andnotice that it expands.public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display); shell.setLayout(new FillLayout()); Tree tree = new Tree(shell, SWT.BORDER); for (int i = 0; i < 4; i++) { TreeItem item = new TreeItem(tree, SWT.NONE); item.setText("item " + i); for (int j = 0; j < 4; j++) { TreeItem subItem = new TreeItem(item, SWT.NONE); subItem.setText("item " + j); for (int k = 0; k < 4; k++) { TreeItem subsubItem = new TreeItem(subItem,SWT.NONE); subsubItem.setText("item " + k); } } } tree.addSelectionListener(new SelectionAdapter() {}); shell.setSize(200, 200); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose();}------- Comment #1 From Steve Northover 2004-10-07 19:39:16 -0400 -------This behavior cant be changed now because application code now relies on it.Sorry. 4
  5. 5. Home | New | Search | Find | Reports | Requests | New Account | Log In | Terms of UseBug 31021 Summary: Tree - Selection listener stops default expansion Product: [Eclipse] Platform Reporter: Veronika Irvine <veronika_irvine@ca.ibm.com> Component: SWT Assignee: Steve Northover <steve_northover@ca.ibm.com> Status: RESOLVED WONTFIX QA Contact: Severity: normal Priority: P3 Version: 2.1 Target Milestone: --- Hardware: PC OS: Windows XP Whiteboard: Opened: 2003-02-05 14:52 -Description: 0400I20030205Run the following example. Double click on a tree item and notice that it doesnot expand.Comment out the Selection listener and now double click on any tree item andnotice that it expands.public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display); shell.setLayout(new FillLayout()); Tree tree = new Tree(shell, SWT.BORDER); for (int i = 0; i < 4; i++) { TreeItem item = new TreeItem(tree, SWT.NONE); item.setText("item " + i); for (int j = 0; j < 4; j++) { TreeItem subItem = new TreeItem(item, SWT.NONE); subItem.setText("item " + j); for (int k = 0; k < 4; k++) { TreeItem subsubItem = new TreeItem(subItem,SWT.NONE); subsubItem.setText("item " + k); } } } tree.addSelectionListener(new SelectionAdapter() {}); shell.setSize(200, 200); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose();}------- Comment #1 From Steve Northover 2004-10-07 19:39:16 -0400 -------This behavior cant be changed now because application code now relies on it.Sorry. 4
  6. 6. Whiteboard:Bug 31021 Summary: Tree - Selection listener stops default expansion Opened: 2003-02-05 14:52 - Description: Product: [Eclipse] Platform Reporter: Veronika Irvine <veronika_irvine@ca.ibm.com> 0400 Component: SWT Assignee: Steve Northover <steve_northover@ca.ibm.com> Status: RESOLVED WONTFIX I20030205 QA Contact: Severity: normal Priority: P3 Run the following example. Double click on a tree item and notice that it does Version: 2.1 not expand. Target Milestone: --- Hardware: PC Comment out the Selection listener and now double click on any tree item and OS: Windows XP notice that it expands. Whiteboard: public static void main(String[] 2003-02-05 14:52 - Opened: args) {Description: Display display = new Display(); 0400I20030205 Shell shell = new Shell(display); shell.setLayout(new FillLayout());Run the following example. Double click on a tree item and notice that it doesnot expand. Tree tree = new Tree(shell, SWT.BORDER); for (int i = 0; i < 4; i++) {Comment out the Selection listener and now double click on any tree item andnotice that it expands. TreeItem item = new TreeItem(tree, SWT.NONE);public static void main(String[] args) { item.setText("item " + i); Display display = new Display(); for (int j = 0; j < 4; j++) { Shell shell = new Shell(display); shell.setLayout(new FillLayout()); TreeItem subItem = new TreeItem(item, SWT.NONE); Tree tree = new Tree(shell, SWT.BORDER); subItem.setText("item " + j); for (int i = 0; i < 4; i++) { TreeItem item = new TreeItem(tree, SWT.NONE); for (int k = 0; k < 4; k++) { item.setText("item " + i); for (int j = 0; j < 4; j++) { TreeItem subsubItem = new TreeItem(subItem, SWT.NONE); subItem = new TreeItem(item, SWT.NONE); TreeItem subItem.setText("item " + j); for (int k = 0; k < 4; k++) { subsubItem.setText("item " + k); TreeItem subsubItem = } new TreeItem(subItem,SWT.NONE); } subsubItem.setText("item " + k); } } } } tree.addSelectionListener(new SelectionAdapter() {}); tree.addSelectionListener(new SelectionAdapter() {}); shell.setSize(200, 200); shell.setSize(200, 200); shell.open(); shell.open(); while (!shell.isDisposed()) { while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); if (!display.readAndDispatch()) } display.dispose(); display.sleep();} } display.dispose();------- Comment #1 From Steve Northover 2004-10-07 19:39:16 -0400 ------- }This behavior cant be changed now because application code now relies on it.Sorry. ------- Comment #1 From Steve Northover 2004-10-07 19:39:16 -0400 ------- 4
  7. 7. INVALID Severity: normal Priority: P3 CC: norbert.ploett@siemens.comBug 175222 Version: 3.1.1 Summary: Target Milestone: using CDT. Product: Create a new plugin [Tools] CDT --- Reporter: Sabeesh C.S. <sabeesh.cs@ditro.com> Component: cdt-build Assignee: cdt-build-inbox@eclipse.org <cdt-build- Hardware: PC inbox@eclipse.org> Status: RESOLVED QA Contact: OS: INVALID Linux Severity: normal Whiteboard: Priority: P3 CC: norbert.ploett@siemens.com Version: 3.1.1 Target Milestone: --- Hardware: PC OS: Linux Opened: 2007-02-22 23:35 - Description: Whiteboard: 0400 Opened: 2007-02-22 23:35 -Description: 0400 I wand to create a new plugin in Eclipse using CDT. Shall it possible. I hadI wand to create a new plugin in Eclipse using CDT. Shall it possible. I had made a R&D in eclipse documentation. I had get an idea about create a pluginmade a R&D in eclipse documentation. I had get an idea about create a pluginusing Java. But i wand to create a new plugin ( user defined plugin ) using using Java. But i wand to create a new plugin ( user defined plugin ) usingCDT. After that I wand to impliment it in my programe. If it possible?. Anyone can help me please... CDT. After that I wand to impliment it in my programe. If it possible?. Any------- Comment #1 From Norbert Plött 2007-02-23 01:55:42 -0400 ------- one can help me please...Saabeesh,the way I understand it you want to create a plug-in and do the codeimplementation in C/C++ using the CDT. Eclipse supports only Javaimplementations. In theory you could probably call into your C/C++ library via ------- Comment #1 From Norbert Plött 2007-02-23 01:55:42 -0400 -------the Java native interface but this is probably not what you want to do.In any case you would need to create at least a Java wrapper around your Saabeesh,implementation.Do I read you right? the way I understand it you want to create a plug-in and do the code------- Comment #2 From Chris Recoskie 2007-02-23 08:14:04 -0400 -------I implementation described here... this question the on the dont see a bug or enhancement in C/C++ using belongs CDT. Eclipse supports only Javanewsgroup. implementations. In theory you could probably call into your C/C++ library via the Java native interface but this is probably not what you want to do. In any case you would need to create at least a Java wrapper around your implementation. 5
  8. 8. 1 2 Survey Cuezilla 6
  9. 9. 1 2 Survey Cuezilla 6
  10. 10. Survey the users872 developers 1,354 reporterswith at least 50 bugs who have reported assigned to them. at least 30 bugs. 7
  11. 11. Survey the users 872 developers 1,354 reporters156 responses (19%) 310 responses (26%) 8
  12. 12. Survey’s aim 9
  13. 13. Survey’s aimLearn developers’ problemsand information needs—and what reporters provide. 9
  14. 14. Problems facedYou were given wrong There were errors in The reporter used Others product name code examples bad grammar duplicates component name steps to reproduce unstructured text spam operating system test cases prose text incomplete info. observed behaviour stack traces too long text viruses/worms expected behaviour no spell check 10
  15. 15. Problems facedQuestion 1Which of the following problems have your encountered when fixing bugs?(select as many as you wish)You were given wrong There were errors in The reporter used Others product name code examples bad grammar duplicates component name steps to reproduce unstructured text spam operating system test cases prose text incomplete info. observed behaviour stack traces too long text viruses/worms expected behaviour no spell check 10
  16. 16. Problems facedQuestion 1Which of the following problems have your encountered when fixing bugs?(select as many as you wish)Question 2Which three caused you the most delay in fixing bugs?(select at most three items)You were given wrong There were errors in The reporter used Others product name code examples bad grammar duplicates component name steps to reproduce unstructured text spam operating system test cases prose text incomplete info. observed behaviour stack traces too long text viruses/worms expected behaviour no spell check 10
  17. 17. ResponsesMost delay caused Encountered when fixing a bug 11
  18. 18. ResponsesMost delay caused wrong system information viruses/spam Encountered when fixing a bug 11
  19. 19. ResponsesMost delay caused bad grammar errors in test cases duplicates wrong system information viruses/spam Encountered when fixing a bug 11
  20. 20. ResponsesMost delay caused wrong observed behaviour wrong expected behaviour wrong product information bad grammar errors in test cases duplicates wrong system information viruses/spam Encountered when fixing a bug 11
  21. 21. Responses incomplete informationMost delay caused erroneous steps to reproduce wrong observed behaviour wrong expected behaviour wrong product information bad grammar errors in test cases duplicates wrong system information viruses/spam Encountered when fixing a bug 11
  22. 22. Information needsproduct hardware observed behaviour screen shotscomponent operating system expected behaviour code examplesversion summary steps to reproduce error reportsseverity build information stack traces test cases 12
  23. 23. Information needsQuestion 1 3Which of the following items have you previously used when fixing bugs?(select as many as you wish) product hardware observed behaviour screen shots component operating system expected behaviour code examples version summary steps to reproduce error reports severity build information stack traces test cases 12
  24. 24. Information needsQuestion 1 3Which of the following items have you previously used when fixing bugs?(select as many as you wish)Question 4Which three items helped you the most?(select at most three items) product hardware observed behaviour screen shots component operating system expected behaviour code examples version summary steps to reproduce error reports severity build information stack traces test cases 12
  25. 25. ResponsesHelped most 13 Used when fixing a bug
  26. 26. ResponsesHelped most version hardware severity 13 Used when fixing a bug
  27. 27. ResponsesHelped most screenshots observed behavior test cases/examples expected behavior version hardware severity 13 Used when fixing a bug
  28. 28. ResponsesHelped most steps to reproduce stack traces screenshots observed behavior test cases/examples expected behavior version hardware severity 13 Used when fixing a bug
  29. 29. Questions to reporters Same options as for developersproduct hardware observed behaviour screen shotscomponent operating system expected behaviour code examplesversion summary steps to reproduce error reportsseverity build information stack traces test cases 14
  30. 30. Questions to reportersQuestion 1What information have you previously provided in bug reports?(select as many as you wish) Same options as for developers product hardware observed behaviour screen shots component operating system expected behaviour code examples version summary steps to reproduce error reports severity build information stack traces test cases 14
  31. 31. Questions to reportersQuestion 1What information have you previously provided in bug reports?(select as many as you wish)Question 2What of the above information was most difficult to provide?(select at most three items)Question 3In your opinion, what information is most relevant to developers?(select at most three items) 15
  32. 32. Rated most helpful by developerssteps to reproduce steps to reproduce steps to reproduceobserved behaviour stack traces test casesexpected behaviour test cases observed behaviour product observed behaviour stack traces version screenshots expected behaviour operating system expected behaviour version summary code examples code examples component summary error reports severity version build information build information error 16 reports summary
  33. 33. Provided by Rated most helpfulmost reporters by developerssteps to reproduce steps to reproduce steps to reproduceobserved behaviour stack traces test casesexpected behaviour test cases observed behaviour product observed behaviour stack traces version screenshots expected behaviour operating system expected behaviour version summary code examples code examples component summary error reports severity version build information build information error 16 reports summary
  34. 34. Provided by Rated most helpful Rated most helpfulmost reporters by developers by reporterssteps to reproduce steps to reproduce steps to reproduceobserved behaviour stack traces test casesexpected behaviour test cases observed behaviour product observed behaviour stack traces version screenshots expected behaviour operating system expected behaviour version summary code examples code examples component summary error reports severity version build information build information error 16 reports summary
  35. 35. Provided by Rated most helpful Rated helpfulmost reporters by developers by most reporterssteps to reproduce steps to reproduce steps to reproduceobserved behaviour stack traces test casesexpected behaviour test cases observed behaviour product observed behaviour stack traces version screenshots expected behaviour operating system expected behaviour version summary code examples code examples component summary error reports severity version build information build information error 17 reports summary
  36. 36. Provided by Rated most helpful Rated helpfulmost reporters by developers by most reporterssteps to reproduce steps to reproduce steps to reproduceobserved behaviour stack traces test casesexpected behaviour test cases observed behaviour productReporters need betterstack traces observed behaviour version tool assistance. expected behaviour screenshots operating system expected behaviour version summary code examples code examples component summary error reports severity version build information build information error 17 reports summary
  37. 37. Provided by Rated most helpful Rated helpfulmost reporters by developers by most reporterssteps to reproduce steps to reproduce steps to reproduceobserved behaviour stack traces test casesexpected behaviour test cases observed behaviour product observed behaviour stack traces version screenshots expected behaviour operating system expected behaviour version summary code examples code examples component summary error reports severity version build information build information error 18 reports summary
  38. 38. 1 2 Survey Cuezilla 19
  39. 39. Assist reporters 20
  40. 40. Assist reporters 20
  41. 41. Assist reporters 20
  42. 42. Rating bug reports Create a new plugin using CDT. I wand to create a new plugin in Eclipse using CDT. Shall it possible. I had made a R&D in eclipse documentation. I had get an idea about create a plugin using Java. But i wand to create a new plugin ( user defined plugin ) using CDT. After that I wand to impliment it in my programe. If it possible?. Any one can help me please... 21
  43. 43. Rating bug reports Create a new plugin using CDT. I wand to create a new plugin in Eclipse using CDT. Shall it possible. I had made a R&D in eclipse documentation. I had get an idea about create a plugin using Java. But i wand to create a new plugin ( user defined plugin ) using CDT. After that I wand to impliment it in my programe. If it possible?. Any one can help me please... Poor Average Good 21
  44. 44. Rating bug reportsTotal reports voted: 289 Total votes received: 1,186 Create a new plugin using CDT. I wand to create a new plugin in Eclipse using CDT. Shall it possible. I had made a R&D in eclipse documentation. I had get an idea about create a plugin using Java. But i wand to create a new plugin ( user defined plugin ) using CDT. After that I wand to impliment it in my programe. If it possible?. Any one can help me please... Poor Average Good 21
  45. 45. CUE Bug 31021 Summary: Tree - Selection listener stops default expansion Product: [Eclipse] Platform Reporter: Veronika Irvine <veronika_irvine@ca.ibm.com> Component: SWT Assignee: Steve Northover <steve_northover@ca.ibm.com> Status: RESOLVED WONTFIX QA Contact:ZILLA Severity: normal Priority: P3 Version: 2.1 Target Milestone: --- Hardware: PC OS: Windows XP Whiteboard: Opened: 2003-02-05 14:52 - Description: 0400 I20030205 Run the following example. Double click on a tree item and notice that it does not expand. Comment out the Selection listener and now double click on any tree item and notice that it expands. public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display); shell.setLayout(new FillLayout()); Tree tree = new Tree(shell, SWT.BORDER); for (int i = 0; i < 4; i++) { TreeItem item = new TreeItem(tree, SWT.NONE); item.setText("item " + i); for (int j = 0; j < 4; j++) { TreeItem subItem = new TreeItem(item, SWT.NONE); subItem.setText("item " + j); for (int k = 0; k < 4; k++) { TreeItem subsubItem = new TreeItem(subItem, SWT.NONE); subsubItem.setText("item " + k); } } } tree.addSelectionListener(new SelectionAdapter() {}); shell.setSize(200, 200); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); } ------- Comment #1 From Steve Northover 2004-10-07 19:39:16 -0400 ------- This behavior cant be changed now because application code now relies on it. Sorry. 22
  46. 46. CUE Bug 31021 Summary: Tree - Selection listener stops default expansion Product: [Eclipse] Platform Reporter: Veronika Irvine <veronika_irvine@ca.ibm.com> Component: SWT Assignee: Steve Northover <steve_northover@ca.ibm.com> Status: RESOLVED WONTFIX QA Contact:ZILLA Severity: normal Priority: P3 Version: 2.1 Target Milestone: --- Hardware: PC OS: Windows XP Whiteboard: Opened: 2003-02-05 14:52 - Description: 0400 I20030205 Run the following example. Double click on a tree item and notice that it does not expand. Comment out the Selection listener and now double click on any tree item and notice that it expands. public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display); shell.setLayout(new FillLayout()); Tree tree = new Tree(shell, SWT.BORDER); for (int i = 0; i < 4; i++) { TreeItem item = new TreeItem(tree, SWT.NONE); item.setText("item " + i); for (int j = 0; j < 4; j++) { TreeItem subItem = new TreeItem(item, SWT.NONE); subItem.setText("item " + j); for (int k = 0; k < 4; k++) { TreeItem subsubItem = new TreeItem(subItem, SWT.NONE); subsubItem.setText("item " + k); } } } tree.addSelectionListener(new SelectionAdapter() {}); shell.setSize(200, 200); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); } ------- Comment #1 From Steve Northover 2004-10-07 19:39:16 -0400 ------- This behavior cant be changed now because application code now relies on it. Sorry. 22
  47. 47. detects Itemisations KeywordsCUE Code samples Stack tracesZILLA Patches Screenshots computes Readability 23
  48. 48. Build and evaluate Cuezilla build CUE ZILLA 24
  49. 49. Build and evaluate Cuezilla build CUE ZILLAevaluate CUE ZILLA 24
  50. 50. Evaluation SetupWithin projects 25
  51. 51. Evaluation SetupWithin projects 48% agreement 91% off by one 25
  52. 52. Make recommendations CUE ZILLA + Stack trace 26
  53. 53. Make recommendations CUE ZILLA + Stack trace 26
  54. 54. Incentives to reporters 27
  55. 55. Incentives to reporters• Bug reports containing stack traces get fixed sooner.• Bug reports that are easier to read have lower lifetimes.• Code samples in your bug report increase chances of it getting fixed. 28
  56. 56. Duplicates“ Duplicates often add useful information. That this information is filed under a new report is not ideal. Apache Developer ” 29
  57. 57. Future of bug tracking lies in thinking outside the box! 30
  58. 58. Summary Provided by Rated most helpful Rated helpful most reporters by developers by most reporters ResponsesHelped most steps to reproduce steps to reproduce steps to reproduce steps to reproduce stack traces observed behaviour stack traces test cases expected behaviour test cases observed behaviour screenshots product observed behaviour stack traces observed behavior version screenshots expected behaviour test cases/examples operating system expected behaviour version expected behavior summary code examples code examples component summary error reports version severity version build information hardware severity build information error reports summary 14 Used when fixing a bug Assist reporters Future of bug tracking lies in thinking outside the box! 29 31

×