FindBugs Bug Detector Report

The following document contains the results of FindBugs Report

FindBugs Version is 1.3.9

Threshold is medium

Effort is min

Summary

ClassesBugsErrorsMissing Classes
1297300

com.barteo.emulator.app.Main

BugCategoryDetailsLinePriority

com.barteo.emulator.applet.Main

BugCategoryDetailsLinePriority

org.microemu.app.Main

BugCategoryDetailsLinePriority
Dead store to midletString in org.microemu.app.Main.main(String[])STYLEDLS_DEAD_LOCAL_STORE1060Medium
org.microemu.app.Main$17 stored into non-transient field Main.componentListenerBAD_PRACTICESE_BAD_FIELD_STORE707Medium
org.microemu.app.Main$1 stored into non-transient field Main.emulatorContextBAD_PRACTICESE_BAD_FIELD_STORE177Medium
org.microemu.app.Main$11 stored into non-transient field Main.menuAboutListenerBAD_PRACTICESE_BAD_FIELD_STORE500Medium
org.microemu.app.Main$4 stored into non-transient field Main.menuCloseMidletListenerBAD_PRACTICESE_BAD_FIELD_STORE254Medium
org.microemu.app.Main$12 stored into non-transient field Main.menuExitListenerBAD_PRACTICESE_BAD_FIELD_STORE506Medium
org.microemu.app.Main$10 stored into non-transient field Main.menuLogConsoleListenerBAD_PRACTICESE_BAD_FIELD_STORE481Medium
org.microemu.app.Main$8 stored into non-transient field Main.menuMIDletNetworkConnectionListenerBAD_PRACTICESE_BAD_FIELD_STORE457Medium
org.microemu.app.Main$2 stored into non-transient field Main.menuOpenMIDletFileListenerBAD_PRACTICESE_BAD_FIELD_STORE216Medium
org.microemu.app.Main$3 stored into non-transient field Main.menuOpenMIDletURLListenerBAD_PRACTICESE_BAD_FIELD_STORE240Medium
org.microemu.app.Main$9 stored into non-transient field Main.menuRecordStoreManagerListenerBAD_PRACTICESE_BAD_FIELD_STORE464Medium
org.microemu.app.Main$5 stored into non-transient field Main.menuSaveForWebListenerBAD_PRACTICESE_BAD_FIELD_STORE260Medium
org.microemu.app.Main$14 stored into non-transient field Main.menuScaledDisplayListenerBAD_PRACTICESE_BAD_FIELD_STORE569Medium
org.microemu.app.Main$13 stored into non-transient field Main.menuSelectDeviceListenerBAD_PRACTICESE_BAD_FIELD_STORE535Medium
org.microemu.app.Main$6 stored into non-transient field Main.menuStartCaptureListenerBAD_PRACTICESE_BAD_FIELD_STORE380Medium
org.microemu.app.Main$7 stored into non-transient field Main.menuStopCaptureListenerBAD_PRACTICESE_BAD_FIELD_STORE444Medium
org.microemu.app.Main$16 stored into non-transient field Main.responseInterfaceListenerBAD_PRACTICESE_BAD_FIELD_STORE693Medium
org.microemu.app.Main$15 stored into non-transient field Main.statusBarListenerBAD_PRACTICESE_BAD_FIELD_STORE685Medium
org.microemu.app.Main$18 stored into non-transient field Main.windowListenerBAD_PRACTICESE_BAD_FIELD_STORE750Medium

org.microemu.app.Main$12

BugCategoryDetailsLinePriority
org.microemu.app.Main$12.actionPerformed(ActionEvent) invokes System.exit(...), which shuts down the entire virtual machineBAD_PRACTICEDM_EXIT531Medium

org.microemu.app.capture.AnimatedGifEncoder

BugCategoryDetailsLinePriority
Vacuous ior operation on AnimatedGifEncoder.java:[line 369] in org.microemu.app.capture.AnimatedGifEncoder.writeGraphicCtrlExt()STYLEINT_VACUOUS_BIT_OPERATION369Medium

org.microemu.app.capture.NeuQuant

BugCategoryDetailsLinePriority
new org.microemu.app.capture.NeuQuant(byte[], int, int) may expose internal representation by storing an externally mutable object into NeuQuant.thepictureMALICIOUS_CODEEI_EXPOSE_REP2114Medium
Computation of average could overflow in org.microemu.app.capture.NeuQuant.inxbuild()STYLEIM_AVERAGE_COMPUTATION_COULD_OVERFLOW184Medium

org.microemu.app.ui.swing.RecordStoreManagerDialog

BugCategoryDetailsLinePriority
org.microemu.app.ui.swing.RecordStoreManagerDialog$1 stored into non-transient field RecordStoreManagerDialog.recordStoreTypeChangeListenerBAD_PRACTICESE_BAD_FIELD_STORE81Medium

org.microemu.app.ui.swing.ResizeDeviceDisplayDialog$IntegerField

BugCategoryDetailsLinePriority
Should org.microemu.app.ui.swing.ResizeDeviceDisplayDialog$IntegerField be a _static_ inner class?PERFORMANCESIC_INNER_SHOULD_BE_STATIC44-60Medium

org.microemu.app.ui.swing.ResizeDeviceDisplayDialog$IntegerField$IntegerDocument

BugCategoryDetailsLinePriority
Potentially dangerous use of non-short-circuit logic in org.microemu.app.ui.swing.ResizeDeviceDisplayDialog$IntegerField$IntegerDocument.insertString(int, String, AttributeSet)STYLENS_DANGEROUS_NON_SHORT_CIRCUIT80High

org.microemu.app.ui.swing.SwingDeviceComponent

BugCategoryDetailsLinePriority
org.microemu.app.ui.swing.SwingDeviceComponent$1 stored into non-transient field SwingDeviceComponent.mouseListenerBAD_PRACTICESE_BAD_FIELD_STORE150Medium
org.microemu.app.ui.swing.SwingDeviceComponent$2 stored into non-transient field SwingDeviceComponent.mouseMotionListenerBAD_PRACTICESE_BAD_FIELD_STORE227Medium

org.microemu.app.ui.swing.SwingDeviceComponent$MouseRepeatedTimerTask

BugCategoryDetailsLinePriority
Incorrect lazy initialization and update of static field org.microemu.app.ui.swing.SwingDeviceComponent$MouseRepeatedTimerTask.task in org.microemu.app.ui.swing.SwingDeviceComponent$MouseRepeatedTimerTask.schedule(Component, J2SEButton, J2SEInputMethod)MT_CORRECTNESSLI_LAZY_INIT_UPDATE_STATIC112-115Medium
Unread field: org.microemu.app.ui.swing.SwingDeviceComponent$MouseRepeatedTimerTask.sourcePERFORMANCEURF_UNREAD_FIELD116Medium

org.microemu.app.ui.swing.SwingDisplayComponent

BugCategoryDetailsLinePriority
org.microemu.app.ui.swing.SwingDisplayComponent$1 stored into non-transient field SwingDisplayComponent.mouseListenerBAD_PRACTICESE_BAD_FIELD_STORE83Medium
org.microemu.app.ui.swing.SwingDisplayComponent$2 stored into non-transient field SwingDisplayComponent.mouseMotionListenerBAD_PRACTICESE_BAD_FIELD_STORE183Medium
org.microemu.app.ui.swing.SwingDisplayComponent$3 stored into non-transient field SwingDisplayComponent.mouseWheelListenerBAD_PRACTICESE_BAD_FIELD_STORE233Medium

org.microemu.app.ui.swing.SwingLogConsoleDialog$3

BugCategoryDetailsLinePriority
Write to static field org.microemu.log.StdOutAppender.enabled from instance method org.microemu.app.ui.swing.SwingLogConsoleDialog$3.actionPerformed(ActionEvent)STYLEST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD125Medium

org.microemu.app.ui.swing.SwingSelectDevicePanel

BugCategoryDetailsLinePriority
org.microemu.app.ui.swing.SwingSelectDevicePanel$1 stored into non-transient field SwingSelectDevicePanel.btAddListenerBAD_PRACTICESE_BAD_FIELD_STORE81Medium
org.microemu.app.ui.swing.SwingSelectDevicePanel$3 stored into non-transient field SwingSelectDevicePanel.btDefaultListenerBAD_PRACTICESE_BAD_FIELD_STORE220Medium
org.microemu.app.ui.swing.SwingSelectDevicePanel$2 stored into non-transient field SwingSelectDevicePanel.btRemoveListenerBAD_PRACTICESE_BAD_FIELD_STORE189Medium
org.microemu.app.ui.swing.SwingSelectDevicePanel$4 stored into non-transient field SwingSelectDevicePanel.listSelectionListenerBAD_PRACTICESE_BAD_FIELD_STORE237Medium

org.microemu.app.ui.swing.SwingSelectDevicePanel$1

BugCategoryDetailsLinePriority
Method org.microemu.app.ui.swing.SwingSelectDevicePanel$1.actionPerformed(ActionEvent) makes inefficient use of keySet iterator instead of entrySet iteratorPERFORMANCEWMI_WRONG_MAP_ITERATOR171Medium

org.microemu.app.ui.swing.SwingSelectDevicePanel$2

BugCategoryDetailsLinePriority
org.microemu.app.ui.swing.SwingSelectDevicePanel$2.actionPerformed(ActionEvent) ignores exceptional return value of java.io.File.delete()BAD_PRACTICERV_RETURN_VALUE_IGNORED_BAD_PRACTICE203Medium

org.microemu.app.ui.swing.XYConstraints

BugCategoryDetailsLinePriority
org.microemu.app.ui.swing.XYConstraints.clone() does not call super.clone()BAD_PRACTICECN_IDIOM_NO_SUPER_CALL107Medium

org.microemu.app.ui.swing.logconsole.LogTextCaret

BugCategoryDetailsLinePriority
org.microemu.app.ui.swing.logconsole.LogTextCaret doesn't override javax.swing.text.DefaultCaret.equals(Object)STYLEEQ_DOESNT_OVERRIDE_EQUALS37-51Medium

org.microemu.applet.CookieRecordStoreManager

BugCategoryDetailsLinePriority
Impossible downcast of toArray() result to String[] in org.microemu.applet.CookieRecordStoreManager.listRecordStores()CORRECTNESSBC_IMPOSSIBLE_DOWNCAST_OF_TOARRAY151High
Dead store to format in new org.microemu.applet.CookieRecordStoreManager(Applet)STYLEDLS_DEAD_LOCAL_STORE75High
Load of known null value in org.microemu.applet.CookieRecordStoreManager.openRecordStore(String, boolean)STYLENP_LOAD_OF_KNOWN_NULL_VALUE179Medium

org.microemu.applet.CookieRecordStoreManager$CookieContent

BugCategoryDetailsLinePriority
Invocation of toString on CookieRecordStoreManager$CookieContent.parts in org.microemu.applet.CookieRecordStoreManager$CookieContent.getParts()CORRECTNESSDMI_INVOKING_TOSTRING_ON_ARRAY288Medium
Should org.microemu.applet.CookieRecordStoreManager$CookieContent be a _static_ inner class?PERFORMANCESIC_INNER_SHOULD_BE_STATIC254-307Medium

org.microemu.applet.Main

BugCategoryDetailsLinePriority
org.microemu.applet.Main$1 stored into non-transient field Main.emulatorContextBAD_PRACTICESE_BAD_FIELD_STORE87Medium
org.microemu.util.MemoryRecordStoreManager stored into non-transient field Main.recordStoreManagerBAD_PRACTICESE_BAD_FIELD_STORE141Medium
Write to static field org.microemu.app.util.MIDletSystemProperties.applyToJavaSystemProperties from instance method org.microemu.applet.Main.init()STYLEST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD133High
Write to static field org.microemu.app.util.MIDletResourceLoader.classLoader from instance method org.microemu.applet.Main.init()STYLEST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD234Medium
Write to static field org.microemu.device.ui.EventDispatcher.maxFps from instance method org.microemu.applet.Main.init()STYLEST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD228Medium

org.microemu.device.j2se.J2SEButton

BugCategoryDetailsLinePriority
org.microemu.device.j2se.J2SEButton.getKeyboardKeyCodes() may expose internal representation by returning J2SEButton.keyboardKeysMALICIOUS_CODEEI_EXPOSE_REP148Medium
new org.microemu.device.j2se.J2SEButton(int, String, Shape, int, String, String, Hashtable, boolean) may expose internal representation by storing an externally mutable object into J2SEButton.inputToCharsMALICIOUS_CODEEI_EXPOSE_REP2126Medium
Exception is caught when Exception is not thrown in org.microemu.device.j2se.J2SEButton.parseKeyboardKey(String)STYLEREC_CATCH_EXCEPTION222Medium

org.microemu.device.j2se.J2SEDeviceDisplay

BugCategoryDetailsLinePriority
Unchecked/unconfirmed cast from javax.microedition.lcdui.Image to org.microemu.device.j2se.J2SEMutableImage in org.microemu.device.j2se.J2SEDeviceDisplay.createImage(Image)STYLEBC_UNCONFIRMED_CAST266Medium
Unchecked/unconfirmed cast from javax.microedition.lcdui.Image to org.microemu.device.j2se.J2SEMutableImage in org.microemu.device.j2se.J2SEDeviceDisplay.createImage(Image, int, int, int, int, int)STYLEBC_UNCONFIRMED_CAST337Medium

org.microemu.device.j2se.J2SEDisplayGraphics

BugCategoryDetailsLinePriority
Unchecked/unconfirmed cast from javax.microedition.lcdui.Image to org.microemu.device.j2se.J2SEImmutableImage in org.microemu.device.j2se.J2SEDisplayGraphics.drawImage(Image, int, int, int)STYLEBC_UNCONFIRMED_CAST190Medium
Unchecked/unconfirmed cast from javax.microedition.lcdui.Image to org.microemu.device.j2se.J2SEMutableImage in org.microemu.device.j2se.J2SEDisplayGraphics.drawImage(Image, int, int, int)STYLEBC_UNCONFIRMED_CAST188Medium
Unchecked/unconfirmed cast from javax.microedition.lcdui.Image to org.microemu.device.j2se.J2SEImmutableImage in org.microemu.device.j2se.J2SEDisplayGraphics.drawRegion(Image, int, int, int, int, int, int, int, int)STYLEBC_UNCONFIRMED_CAST276Medium
Unchecked/unconfirmed cast from javax.microedition.lcdui.Image to org.microemu.device.j2se.J2SEMutableImage in org.microemu.device.j2se.J2SEDisplayGraphics.drawRegion(Image, int, int, int, int, int, int, int, int)STYLEBC_UNCONFIRMED_CAST274Medium

org.microemu.device.j2se.J2SEFontManager

BugCategoryDetailsLinePriority
Check to see if ((...) & 0) == 0 in org.microemu.device.j2se.J2SEFontManager.getFont(Font)CORRECTNESSBIT_AND_ZZ69High
Vacuous ior operation on key in org.microemu.device.j2se.J2SEFontManager.setFont(String, String, String, Font)STYLEINT_VACUOUS_BIT_OPERATION163Medium

org.microemu.device.j2se.J2SEImmutableImage

BugCategoryDetailsLinePriority
Wait not in loop in org.microemu.device.j2se.J2SEImmutableImage.getHeight()MT_CORRECTNESSWA_NOT_IN_LOOP81Medium
Wait not in loop in org.microemu.device.j2se.J2SEImmutableImage.getWidth()MT_CORRECTNESSWA_NOT_IN_LOOP121Medium

org.microemu.device.j2se.J2SEMutableImage

BugCategoryDetailsLinePriority
org.microemu.device.j2se.J2SEMutableImage.getData() may expose internal representation by returning J2SEMutableImage.pixelsMALICIOUS_CODEEI_EXPOSE_REP103Medium

org.microemu.device.j2se.J2SESoftButton

BugCategoryDetailsLinePriority
org.microemu.device.j2se.J2SESoftButton.RIGHT isn't final but should beMALICIOUS_CODEMS_SHOULD_BE_FINAL47High

org.microemu.device.j2se.J2SESystemFont

BugCategoryDetailsLinePriority
Inconsistent synchronization of org.microemu.device.j2se.J2SESystemFont.initialized; locked 66% of timeMT_CORRECTNESSIS2_INCONSISTENT_SYNC62Medium

org.microemu.device.j2se.J2SETrueTypeFont

BugCategoryDetailsLinePriority
Inconsistent synchronization of org.microemu.device.j2se.J2SETrueTypeFont.initialized; locked 66% of timeMT_CORRECTNESSIS2_INCONSISTENT_SYNC67Medium

org.microemu.device.j2se.RGBImageFilter

BugCategoryDetailsLinePriority