-
The
Mainclass depends on the following external classes:BlackboardWorkAreaServerThread
Therefore, out = 4.
-
No other classes depend on the
Mainclass, so:- in = 0
Instability of Main.java: 1.0
-
Main()constructor:- No conditional logic or loops.
- Cyclomatic Complexity = 1
-
main(String[] args):- No conditional logic or loops.
- Cyclomatic Complexity = 1
-
actionPerformed(ActionEvent e):- Contains 3
if-elseconditions to check which button was pressed (startMenuItem,stopMenuItem,configureMenuItem). - Cyclomatic Complexity = 4 (3 conditions + 1)
- Contains 3
-
startTracking():- No conditional logic or loops.
- Cyclomatic Complexity = 1
-
stopTracking():- No conditional logic or loops.
- Cyclomatic Complexity = 1
-
configureSettings():- No conditional logic or loops, just sequential logic for setting size and speed.
- Cyclomatic Complexity = 1
-
The
Blackboardclass does not depend on any external classes.- out = 0
-
The
Blackboardclass is depended on by the following classes:MainServerWorkArea
Therefore, in = 3.
Instability of Blackboard.java: 0.0
-
Blackboard()constructor:- No conditional logic or loops.
- Cyclomatic Complexity = 1
-
addClick(Point click):- Contains 1
ifcondition to check if tracking is active. - Cyclomatic Complexity = 2 (1 condition + 1)
- Contains 1
-
getClickPositions():- No conditional logic or loops.
- Cyclomatic Complexity = 1
-
clearClicks():- No conditional logic or loops.
- Cyclomatic Complexity = 1
-
getTransmissionSpeed():- No conditional logic or loops.
- Cyclomatic Complexity = 1
-
setTransmissionSpeed(int speed):- No conditional logic or loops.
- Cyclomatic Complexity = 1
-
isTracking():- No conditional logic or loops.
- Cyclomatic Complexity = 1
-
startTracking():- No conditional logic or loops.
- Cyclomatic Complexity = 1
-
stopTracking():- No conditional logic or loops.
- Cyclomatic Complexity = 1
-
The
Serverclass depends on the following external classes:BlackboardTimerSocketObjectOutputStream
Therefore, out = 4.
-
The
Serverclass is depended on by theMainclass.- in = 1
Instability of Server.java: 0.8
-
Server(Blackboard blackboard)constructor:- Contains 1
try-catchblock, which counts as a decision point. - Cyclomatic Complexity = 2 (1 condition + 1)
- Contains 1
-
run():- No conditional logic or loops.
- Cyclomatic Complexity = 1
-
startTransmission():- Contains 1
ifcondition to check if data is already being transmitted and 1 condition inside the timer task. - Cyclomatic Complexity = 3 (2 conditions + 1)
- Contains 1
-
stopTransmission():- Contains 1
ifcondition to check if data is being transmitted and whether the timer is active. - Cyclomatic Complexity = 2 (1 condition + 1)
- Contains 1
-
sendClickData():- Contains 1
ifcondition to check if the click list is empty and 1try-catchblock. - Cyclomatic Complexity = 3 (2 conditions + 1)
- Contains 1
-
stopServer():- Contains 1
try-catchblock and 1ifcondition to close the socket. - Cyclomatic Complexity = 2 (1 condition + 1)
- Contains 1
-
The
WorkAreaclass depends on the following external classes:BlackboardMouseListener
Therefore, out = 2.
-
The
WorkAreaclass is depended on by theMainclass.- in = 1
Instability of WorkArea.java: 0.67
-
WorkArea(Blackboard blackboard)constructor:- No conditional logic or loops.
- Cyclomatic Complexity = 1
-
mouseReleased(MouseEvent e):- Contains 1
ifcondition to check if tracking is active. - Cyclomatic Complexity = 2 (1 condition + 1)
- Contains 1
-
mouseClicked(MouseEvent e):- No conditional logic or loops.
- Cyclomatic Complexity = 1
-
mousePressed(MouseEvent e):- No conditional logic or loops.
- Cyclomatic Complexity = 1
-
mouseEntered(MouseEvent e):- No conditional logic or loops.
- Cyclomatic Complexity = 1
-
mouseExited(MouseEvent e):- No conditional logic or loops.
- Cyclomatic Complexity = 1