Last Msg First Msg
























method com.dmdirc.parser.irc.Process004005__static_init










method void process(String, String[])
presParam != null
pre(soft) this.myParser.sNetworkName != null
pre(soft) init'ed(this.myParser.stringConverter)
pre(soft) this.myParser != null
pre(soft) this.myParser...myCallbackManager != null
pre(soft) this.myParser...myCallbackManager. callbackHash != null
pre(soft) this.myParser.cMyself != null
pre(soft) this.myParser.cMyself.sNickname != null
pre(soft) this.myParser.h005Info != null
pre(soft) this.myParser.hChanModesBool != null
pre(soft) this.myParser.hChanModesOther != null
pre(soft) this.myParser.hChanPrefix != null
pre(soft) this.myParser.hClientList != null
pre(soft) this.myParser.hPrefixMap != null
pre(soft) this.myParser.hPrefixModes != null
pre(soft) this.myParser.hUserModes != null
pre(soft) init'ed(this.myParser.lastLine)
pre(soft) this.myParser.myCallbackManager != null
pre(soft) this.myParser.myCallbackManager. callbackHash != null
pre(soft) this.myParser.myProcessingManager != null
pre(soft) this.myParser.myProcessingManager.myParser != null
pre(soft) this.myParser.myProcessingManager. processHash != null
pre(soft) token != null
pre(soft) token.length in {4, 7..232-1}
pre(soft) token[...] != null
pre(soft) token[3] != null
pre(soft) token[4] != null
pre(soft) token[5] != null
pre(soft) token[6] != null
presumptionjava.lang.Integer:parseInt(...)@96 <= 232-2
postjava.lang.StringBuilder:toString(...)._tainted == 0
postpossibly_updated(this.myParser.nNextKeyCMBool)
postpossibly_updated(this.myParser.nNextKeyPrefix)
postpossibly_updated(this.myParser.nNextKeyUser)
postthis.myParser.sNetworkName != null
postinit'ed(this.myParser.stringConverter)
postinit'ed(new IRCStringConverter(getIRCStringConverte r#1) num objects)
postnew IRCStringConverter(getIRCStringConverter#1) num objects == 0
postinit'ed(new IRCStringConverter(getIRCStringConverte r#1).limit)
postinit'ed(new IRCStringConverter(getIRCStringConverte r#1).lowercase)
postinit'ed(new IRCStringConverter(getIRCStringConverte r#1).uppercase)
postnew IRCStringConverter(updateCharArrays#1) num objects <= 232-4
postinit'ed(new IRCStringConverter(updateCharArrays#1). limit)
postinit'ed(new IRCStringConverter(updateCharArrays#1). lowercase)
postinit'ed(new IRCStringConverter(updateCharArrays#1). uppercase)
postinit'ed(new char[](IRCStringConverter#1) num objects)
postnew char[](IRCStringConverter#1) num objects <= 232-4
postnew char[](IRCStringConverter#1) num objects == 0
postinit'ed(new char[](IRCStringConverter#1).length)
postinit'ed(new char[](IRCStringConverter#1)[...])
postinit'ed(new char[](IRCStringConverter#2) num objects)
postnew char[](IRCStringConverter#2) num objects <= 232-4
postnew char[](IRCStringConverter#2) num objects == 0
postinit'ed(new char[](IRCStringConverter#2).length)
postinit'ed(new char[](IRCStringConverter#2)[...])
unanalyzedcall on getIRCD
unanalyzedcall on getCallbackManager
unanalyzedcall on getCallbackType
unanalyzedcall on call
unanalyzedcall on java.util.Map:containsKey
unanalyzedcall on java.util.Map:get
unanalyzedcall on java.lang.String:matches
unanalyzedcall on java.lang.String:equalsIgnoreCase
unanalyzedcall on java.lang.String:toLowerCase
unanalyzedcall on java.lang.RuntimeException
unanalyzedcall on java.util.Map:clear
unanalyzedcall on java.lang.Character:valueOf
unanalyzedcall on java.lang.String:length
unanalyzedcall on java.util.Map:put
unanalyzedcall on callDebugInfo
unanalyzedcall on java.lang.String:charAt
unanalyzedcall on java.lang.String:format
unanalyzedcall on java.lang.Integer:valueOf
unanalyzedcall on java.lang.Long:valueOf
unanalyzedcall on java.util.Map:size
unanalyzedcall on getNickname
unanalyzedcall on java.lang.String:toCharArray
unanalyzedcall on java.lang.String
unanalyzedcall on forceRemoveClient
unanalyzedcall on java.util.Map:remove
unanalyzedcall on java.lang.Boolean:valueOf
unanalyzedcall on java.lang.String:substring
unanalyzedcall on java.lang.String:split
unanalyzedcall on java.lang.String:equals
unanalyzedcall on java.lang.Character:toString
unanalyzedcall on java.lang.Byte:valueOf
unanalyzedcall on java.util.Hashtable:containsKey
unanalyzedcall on java.util.Hashtable:get
unanalyzedcall on java.lang.Exception
unanalyzedcall on java.lang.Object:getClass
unanalyzedcall on java.lang.Class:getPackage
unanalyzedcall on java.lang.Package:getName
unanalyzedcall on java.lang.Class:getName
unanalyzedcall on doDebug
unanalyzedcall on java.util.Hashtable:remove
unanalyzedcall on java.util.Hashtable:put
test_vectortoken.length: {4}, {7..232-1}
test_vectorjava.lang.String:equals(...)@37: {0}, {1}
test_vectorjava.lang.String:equals(...)@39: {0}, {1}
test_vectorjava.lang.String:equals(...)@52: {0}, {1}
test_vectorjava.lang.String:equals(...)@62: {0}, {1}
test_vectorjava.lang.String:equals(...)@65: {0}, {1}
test_vectorjava.lang.String:equals(...)@83: {0}, {1}
test_vectorjava.lang.String:equals(...)@85: {0}, {1}
test_vectorjava.lang.String:equals(...)@87: {0}, {1}
test_vectorjava.lang.String:equals(...)@89: {0}, {1}
test_vectorjava.lang.String:equalsIgnoreCase(...)@67: {0}, {1}
test_vectorjava.lang.String:equalsIgnoreCase(...)@69: {0}, {1}
test_vectorjava.lang.String:equalsIgnoreCase(...)@71: {1}, {0}
test_vectorjava.util.Map:size(...)@2007: {-231..0, 2..232-1}, {1}









Prev Msg Next Msg
  array index out of bounds
High Prob.
check that bits.length >= 2
  use of default init
Low Prob.
check if init'ed(bits.length)
Prev Msg Next Msg










Prev Msg Next Msg
  array index out of bounds
High Prob.
check that bits.length >= 3
  use of default init
Low Prob.
check if init'ed(bits.length)
Prev Msg Next Msg










Prev Msg Next Msg
  array index out of bounds
High Prob.
check that bits.length >= 4
  use of default init
Low Prob.
check if init'ed(bits.length)
Prev Msg Next Msg










Prev Msg Next Msg
  null dereference
Medium Prob.
check that not_init'ed(Bits[0])
  use of default init
Low Prob.
check if init'ed(Bits.length)
Prev Msg Next Msg










Prev Msg Next Msg
  use of default init
Low Prob.
check if init'ed(Bits.length)
  test always goes same way
Low Prob.
Test predetermined because Bits.length == 0
  dead code
Low Prob.
Dead code here because Bits.length == 0
Prev Msg Next Msg










Prev Msg Next Msg
  precondition failure
Medium Prob.
com/dmdirc/parser/irc/ProcessingManager. addProcessor: processor != null
Prev Msg Next Msg











method String[] handles()
postreturn_value == &amp;new String[](handles#1)
postnew String[](handles#1) num objects == 1
postreturn_value.length == 3
postreturn_value[0] == &amp;"003"
postreturn_value[1] == &amp;"004"
postreturn_value[2] == &amp;"005"










method bool callGotNetwork()
prethis.myParser != null
prethis.myParser.h005Info != null
prethis.myParser.myCallbackManager != null
prethis.myParser.myCallbackManager.callbackHash != null
pre(soft) this.myParser.sNetworkName != null
presumptiongetCallbackManager(...)@130 init'ed
postinit'ed(return_value)
unanalyzedcall on java.util.Map:containsKey
unanalyzedcall on java.util.Map:get
unanalyzedcall on java.lang.String:matches
unanalyzedcall on java.lang.String:equalsIgnoreCase
unanalyzedcall on getCallbackManager
unanalyzedcall on java.lang.String:toLowerCase
unanalyzedcall on java.lang.RuntimeException









Prev Msg Next Msg
  null dereference
Medium Prob.
check that getCallbackType(...) != null
  call too complex - analysis skippedInfocall on bool call(Object[])
Prev Msg Next Msg











method void com.dmdirc.parser.irc.Process004005(IRCParser , ProcessingManager)
postthis.myManager == manager
postinit'ed(this.myManager)
postthis.myParser == parser
postinit'ed(this.myParser)