BinaryInterpreter.java

1
// Copyright © 2004-2006 University of Helsinki, Department of Computer Science
2
// Copyright © 2012 various contributors
3
// This software is released under GNU Lesser General Public License 2.1.
4
// The license text is at http://www.gnu.org/licenses/lgpl-2.1.html
5
6
package fi.helsinki.cs.titokone;
7
8
import fi.helsinki.cs.titokone.devices.DeviceNames;
9
import java.util.HashMap;
10
11
/**
12
 * This class contains the information to translate a command in
13
 * binary form to its symbolic string form. Naturally, if a command
14
 * has been transformed from its symbolic form to binary, the transformation
15
 * back will not restore used symbols as we cannot tell, even with the help
16
 * of the symbol table, what symbol has been used where.
17
 */
18
public class BinaryInterpreter extends Interpreter {
19
    public static final String GARBLE = "";
20
21
    /**
22
     * This hashmap contains the symbolic commands as strings, with
23
     * Integer forms of their opcodes as keys.
24
     */
25
    private HashMap<Object, Object> commands;
26
27
    /**
28
     * This hashmap contains parameters for each command with Integer forms
29
     * of their opcodes as keys.
30
     */
31
    private HashMap<Object, Object> parameters;
32
33
34
    /**
35
     * This constructor sets up a binaryinterpreter and initializes the
36
     * internal command information data structures.
37
     */
38
39
    public BinaryInterpreter() {
40 4
        commands = new HashMap<Object, Object>(38); // 38 was 37, increased to 38 (added NOT-command) - Lauri 2004-12-09
41 4
        parameters = new HashMap<Object, Object>(38);
42
43 7
        for (int i = 0; i < 38; i++) {
44 5
            commands.put(commandData[i][1], commandData[i][0]);
45 5
            parameters.put(commandData[i][1], commandData[i][2]);
46
        }
47
48
    }
49
50
51
    /**
52
     * This function transforms a binary-form command to its symbolic
53
     * representation. Binary is interpreted in two parts, firstly the
54
     * first 8 bits of the binary representation are extracted and if
55
     * it is a valid opcode then check the needed bits if they make
56
     * any sense. Like if the opcode is a NOP then all the bits can be 0,
57
     * or anything else. Also check what to return. Like in a case of NOP
58
     * there is no need to return other parameters.
59
     * http://www.cs.helsinki.fi/u/ahakkine/Tito/koksi.kaskyt Check
60
     * Compiler.java for more info on checking a binary.
61
     *
62
     * @param binaryCommand The command's binary-form representation.
63
     * @return The symbolic representation if it is valid enough.  If
64
     *         the opcode is unknown, the memory address mode faulty or the
65
     *         register ids do not point to real registers,
66
     *         BinaryInterpreter.GARBLE is returned.
67
     */
68
69
    public String binaryToString(int binaryCommand) {
70
        int command = binaryCommand;
71
72 1
        String s = getOpCodeFromBinary(command);
73 1
        if (s == null) {
74 1
            return GARBLE;
75
        }
76 1
        Integer opcode = new Integer(s);
77 1
        s = (String) commands.get(opcode);
78 1
        if (s == null) {
79 1
            return GARBLE;
80
        }
81 2
        if (getMemoryModeFromBinary(command) == null) {
82 1
            return GARBLE;
83
        }
84
85 1
        Integer param = (Integer) parameters.get(opcode);
86
87 1
        switch (param.intValue()) {
88
            case 0: { // No parameters
89 1
                return s;
90
            }
91
            case 1: { // not used
92 1
                return s;
93
            }
94
            case 2: { //SP and register
95 6
                s = s + " " + getFirstRegisterFromBinary(command);
96 6
                s = s + ", " + getSecondRegisterFromBinary(command);
97 1
                return s;
98
            }
99
            case 3: { //only SP
100 6
                s += " " + getFirstRegisterFromBinary(command);
101 1
                return s;
102
            }
103
            case 4: { //address only
104 1
                String mem = getMemoryModeFromBinary(command);
105
106 2
                if (mem.equals(null)) {
107 1
                    return GARBLE;
108
                }
109 5
                s += " " + mem;
110 5
                s += getAddressFromBinary(command);
111 6
                s = s + "(" + getSecondRegisterFromBinary(command);
112 4
                s = s + ")";
113 1
                return s;
114
            }
115
            case 5: { //Full parameters
116 6
                s = s + " " + getFirstRegisterFromBinary(command);
117 6
                s = s + ", " + getMemoryModeFromBinary(command);
118 5
                s = s + getAddressFromBinary(command);
119 6
                s = s + "(" + getSecondRegisterFromBinary(command);
120 4
                s = s + ")";
121
122 1
                return s;
123
            }
124
            case 6: {//Full with less fetches
125
126 1
                String mem = getMemoryModeFromBinary(command);
127 1
                if (mem == null) {
128 1
                    return GARBLE;
129
                }
130
131 6
                s = s + " " + getFirstRegisterFromBinary(command);
132 5
                s = s + ", " + mem;
133 5
                s = s + getAddressFromBinary(command);
134 6
                s = s + "(" + getSecondRegisterFromBinary(command);
135 4
                s = s + ")";
136
137 1
                return s;
138
            }
139
140
            case 7: {//Register and device
141
                // FIXME: this should really allow any addressing mode and no restrictions on the constant value
142 6
                s += " " + getFirstRegisterFromBinary(command);
143
144 2
                int device = Integer.parseInt(getAddressFromBinary(command));
145 3
                if(!getMemoryModeFromBinary(command).equals("=")) {
146 1
                    return GARBLE;
147
                }
148
149 1
                String devName = DeviceNames.lookupByValue(device);
150 1
                if(devName != null)
151 7
                    return s + ", =" + devName.toUpperCase();
152 1
                return GARBLE;
153
            }
154
            case 8: { //Address with less fetches
155 1
                String mem = getMemoryModeFromBinary(command);
156 1
                if (mem == null) {
157 1
                    return GARBLE;
158
                }
159
160 5
                s = s + " " + mem;
161 5
                s = s + getAddressFromBinary(command);
162 6
                s = s + "(" + getSecondRegisterFromBinary(command);
163 4
                s = s + ")";
164
165 1
                return s;
166
            }
167
            case 9: {//SVC SP and operation
168
        // FIXME: this should really allow any addressing mode and no restrictions on the constant value
169 6
                s += " " + getFirstRegisterFromBinary(command);
170 4
                s += ", =";
171 2
        int service = Integer.parseInt(getAddressFromBinary(command));
172
173 1
        String servName = SvcNames.lookupByValue(service);
174 1
        if(servName != null)
175 6
            return s + servName.toUpperCase();
176
177 1
                return GARBLE;
178
            }
179
        }
180
181 1
        return s;
182
183
    }
184
185
    /* Translates the opcode and checks if it is a valid one, then
186
calls the getParameterString to sort out the rest of the binary.*/
187
188
    /**
189
     * This command returns the operation code from a binary
190
     *
191
     * @param binaryCommand The command's binary-form representation.
192
     * @return Operation code in a String format.
193
     */
194
    public String getOpCodeFromBinary(int binaryCommand) {
195
        int command = binaryCommand;
196
        //get opcode and get its name and return it
197 4
        Integer opcode = new Integer(command >> 24);
198 2
        if (commands.get(opcode) != null) {
199 4
            String s = "" + opcode;
200 1
            return s;
201
        }
202 1
        return null;
203
    }
204
205
    /**
206
     * If a command has a first register value then this function returns
207
     * it. (NOP has none, thus it would return "") Normally value would
208
     * be a value from R0 to R7
209
     *
210
     * @param binaryCommand The command's binary-form representation.
211
     * @return Possible register value in a String format.
212
     */
213
    public String getFirstRegisterFromBinary(int binaryCommand) {
214
        int command = binaryCommand;
215 3
        int i = command >> 21; //remove addr, 2. register, memorymode
216 3
        i = i & 7;             //get 1. register and check its name
217 2
        String s = (String) registerData[i][0];
218 1
        return s;
219
    }
220
221
    /**
222
     * Function returns possible memory address mode from a binary command
223
     * given as a parameter. Four possible values (non excistent, and
224
     * three legal values)
225
     *
226
     * @param binaryCommand The command's binary-form representation.
227
     * @return Memory address mode from binary command in a String format.
228
     */
229
    public String getMemoryModeFromBinary(int binaryCommand) {
230
        int command = binaryCommand;
231 3
        int i = command >> 19; //remove addr and second register
232 3
        i = i & 3;             //get memorymode
233 1
        String operationCode = getOpCodeFromBinary(binaryCommand);
234 1
        Integer opcode = new Integer(operationCode);
235 1
        Integer params = (Integer) parameters.get(opcode);
236
237
        /* Store and jumps use less memoryfetches so we need to return
238
            different symbols for them.*/
239
240 8
        if (params.intValue() == 6 || params.intValue() == 8) {
241 1
            if (i == 0) {
242 1
                return "";
243
            }
244 3
            if (i == 1) {
245 1
                return "@";
246
            }
247 6
            if (i == 2 || i == 3) {
248 1
                return null;
249
            }
250
        } else {
251 1
            if (i == 0) {
252 1
                return "=";
253
            }
254 3
            if (i == 1) {
255 1
                return "";
256
            }
257
258 3
            if (i == 2) {
259 1
                return "@";
260
            }
261
        }
262 1
        return null;
263
264
    }
265
266
    /**
267
     * If a command has second register value, this function returns it
268
     * "" or R0 to R7).
269
     *
270
     * @param binaryCommand The command's binary-form representation.
271
     * @return Possible other register from binary command in a String format.
272
     */
273
    public String getSecondRegisterFromBinary(int binaryCommand) {
274
        int command = binaryCommand;
275 3
        int i = command >> 16; //remove address and get first three bits
276 3
        i = i & 7;
277 2
        String s = (String) registerData[i][0];
278
279 1
        return s;
280
281
282
    }
283
284
    /**
285
     * If a given binary represents a valid command that has an address
286
     * then this function returns it.
287
     *
288
     * @param binaryCommand The command's binary-form representation.
289
     * @return Address part of the binary command in a String format.
290
     */
291
292
    public String getAddressFromBinary(int binaryCommand) {
293
        int command = binaryCommand;
294 3
        int i = command & 65535; //AND first 16 bits
295
296 3
        String binaryString = StringUtils.intToBinary(i, 16);
297
298 3
        i = StringUtils.binaryToInt(binaryString, true);
299
300 4
        String s = "" + i;
301 1
        return s;
302
303
    }
304
}

Mutations

40

removed call to java/util/HashMap::<init> : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetAddressFrombinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

Replaced constant value of 38 with 39 : SURVIVED

Substituted 38 with 39 : SURVIVED

Removed assignment to member variable commands : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetAddressFrombinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

41

removed call to java/util/HashMap::<init> : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetAddressFrombinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

Replaced constant value of 38 with 39 : SURVIVED

Removed assignment to member variable parameters : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetAddressFrombinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

Substituted 38 with 39 : SURVIVED

43

Substituted 0 with 1 : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetOpCodeFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

Replaced constant value of 38 with 39 : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetAddressFrombinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

Changed increment from 1 to -1 : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetAddressFrombinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

changed conditional boundary : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetAddressFrombinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

negated conditional : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetMemoryModeFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

Substituted 0 with 1 : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetOpCodeFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

Substituted 38 with 39 : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetAddressFrombinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

44

Substituted 1 with 0 : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetMemoryModeFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/util/HashMap::put : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetMemoryModeFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

Substituted 1 with 0 : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetMemoryModeFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

Substituted 0 with 1 : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

Substituted 0 with 1 : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

45

Substituted 2 with 3 : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetAddressFrombinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

Substituted 2 with 3 : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetAddressFrombinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/util/HashMap::put : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetMemoryModeFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

Substituted 1 with 0 : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetMemoryModeFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

Substituted 1 with 0 : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetMemoryModeFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

72

removed call to fi/helsinki/cs/titokone/BinaryInterpreter::getOpCodeFromBinary : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

73

negated conditional : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

74

mutated return of Object value for fi/helsinki/cs/titokone/BinaryInterpreter::binaryToString to ( if (x != null) null else throw new RuntimeException ) : NO_COVERAGE

76

removed call to java/lang/Integer::<init> : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

77

removed call to java/util/HashMap::get : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

78

negated conditional : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

79

mutated return of Object value for fi/helsinki/cs/titokone/BinaryInterpreter::binaryToString to ( if (x != null) null else throw new RuntimeException ) : NO_COVERAGE

81

negated conditional : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to fi/helsinki/cs/titokone/BinaryInterpreter::getMemoryModeFromBinary : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

82

mutated return of Object value for fi/helsinki/cs/titokone/BinaryInterpreter::binaryToString to ( if (x != null) null else throw new RuntimeException ) : NO_COVERAGE

85

removed call to java/util/HashMap::get : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

87

removed call to java/lang/Integer::intValue : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

89

mutated return of Object value for fi/helsinki/cs/titokone/BinaryInterpreter::binaryToString to ( if (x != null) null else throw new RuntimeException ) : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

92

mutated return of Object value for fi/helsinki/cs/titokone/BinaryInterpreter::binaryToString to ( if (x != null) null else throw new RuntimeException ) : NO_COVERAGE

95

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::<init> : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::toString : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to fi/helsinki/cs/titokone/BinaryInterpreter::getFirstRegisterFromBinary : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

96

removed call to fi/helsinki/cs/titokone/BinaryInterpreter::getSecondRegisterFromBinary : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::<init> : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::toString : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

97

mutated return of Object value for fi/helsinki/cs/titokone/BinaryInterpreter::binaryToString to ( if (x != null) null else throw new RuntimeException ) : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

100

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::<init> : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::toString : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to fi/helsinki/cs/titokone/BinaryInterpreter::getFirstRegisterFromBinary : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

101

mutated return of Object value for fi/helsinki/cs/titokone/BinaryInterpreter::binaryToString to ( if (x != null) null else throw new RuntimeException ) : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

104

removed call to fi/helsinki/cs/titokone/BinaryInterpreter::getMemoryModeFromBinary : NO_COVERAGE

106

negated conditional : NO_COVERAGE

removed call to java/lang/String::equals : NO_COVERAGE

107

mutated return of Object value for fi/helsinki/cs/titokone/BinaryInterpreter::binaryToString to ( if (x != null) null else throw new RuntimeException ) : NO_COVERAGE

109

removed call to java/lang/StringBuilder::toString : NO_COVERAGE

removed call to java/lang/StringBuilder::append : NO_COVERAGE

removed call to java/lang/StringBuilder::<init> : NO_COVERAGE

removed call to java/lang/StringBuilder::append : NO_COVERAGE

removed call to java/lang/StringBuilder::append : NO_COVERAGE

110

removed call to fi/helsinki/cs/titokone/BinaryInterpreter::getAddressFromBinary : NO_COVERAGE

removed call to java/lang/StringBuilder::<init> : NO_COVERAGE

removed call to java/lang/StringBuilder::toString : NO_COVERAGE

removed call to java/lang/StringBuilder::append : NO_COVERAGE

removed call to java/lang/StringBuilder::append : NO_COVERAGE

111

removed call to fi/helsinki/cs/titokone/BinaryInterpreter::getSecondRegisterFromBinary : NO_COVERAGE

removed call to java/lang/StringBuilder::toString : NO_COVERAGE

removed call to java/lang/StringBuilder::<init> : NO_COVERAGE

removed call to java/lang/StringBuilder::append : NO_COVERAGE

removed call to java/lang/StringBuilder::append : NO_COVERAGE

removed call to java/lang/StringBuilder::append : NO_COVERAGE

112

removed call to java/lang/StringBuilder::<init> : NO_COVERAGE

removed call to java/lang/StringBuilder::append : NO_COVERAGE

removed call to java/lang/StringBuilder::toString : NO_COVERAGE

removed call to java/lang/StringBuilder::append : NO_COVERAGE

113

mutated return of Object value for fi/helsinki/cs/titokone/BinaryInterpreter::binaryToString to ( if (x != null) null else throw new RuntimeException ) : NO_COVERAGE

116

removed call to java/lang/StringBuilder::<init> : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to fi/helsinki/cs/titokone/BinaryInterpreter::getFirstRegisterFromBinary : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::toString : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

117

removed call to java/lang/StringBuilder::<init> : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::toString : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to fi/helsinki/cs/titokone/BinaryInterpreter::getMemoryModeFromBinary : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

118

removed call to java/lang/StringBuilder::toString : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to fi/helsinki/cs/titokone/BinaryInterpreter::getAddressFromBinary : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::<init> : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

119

removed call to java/lang/StringBuilder::<init> : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to fi/helsinki/cs/titokone/BinaryInterpreter::getSecondRegisterFromBinary : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::toString : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

120

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::<init> : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::toString : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

122

mutated return of Object value for fi/helsinki/cs/titokone/BinaryInterpreter::binaryToString to ( if (x != null) null else throw new RuntimeException ) : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

126

removed call to fi/helsinki/cs/titokone/BinaryInterpreter::getMemoryModeFromBinary : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

127

negated conditional : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

128

mutated return of Object value for fi/helsinki/cs/titokone/BinaryInterpreter::binaryToString to ( if (x != null) null else throw new RuntimeException ) : NO_COVERAGE

131

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to fi/helsinki/cs/titokone/BinaryInterpreter::getFirstRegisterFromBinary : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::<init> : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::toString : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

132

removed call to java/lang/StringBuilder::toString : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::<init> : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

133

removed call to fi/helsinki/cs/titokone/BinaryInterpreter::getAddressFromBinary : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::<init> : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::toString : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

134

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::<init> : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to fi/helsinki/cs/titokone/BinaryInterpreter::getSecondRegisterFromBinary : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::toString : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

135

removed call to java/lang/StringBuilder::<init> : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::toString : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

137

mutated return of Object value for fi/helsinki/cs/titokone/BinaryInterpreter::binaryToString to ( if (x != null) null else throw new RuntimeException ) : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

142

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to fi/helsinki/cs/titokone/BinaryInterpreter::getFirstRegisterFromBinary : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::toString : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::<init> : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

144

removed call to fi/helsinki/cs/titokone/BinaryInterpreter::getAddressFromBinary : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/Integer::parseInt : KILLED -> fi.helsinki.cs.titokone.BinaryTest.testBinaryToApplication(fi.helsinki.cs.titokone.BinaryTest)

145

removed call to fi/helsinki/cs/titokone/BinaryInterpreter::getMemoryModeFromBinary : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/String::equals : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

negated conditional : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

146

mutated return of Object value for fi/helsinki/cs/titokone/BinaryInterpreter::binaryToString to ( if (x != null) null else throw new RuntimeException ) : NO_COVERAGE

149

removed call to fi/helsinki/cs/titokone/devices/DeviceNames::lookupByValue : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

150

negated conditional : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

151

removed call to java/lang/StringBuilder::<init> : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

mutated return of Object value for fi/helsinki/cs/titokone/BinaryInterpreter::binaryToString to ( if (x != null) null else throw new RuntimeException ) : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::toString : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/String::toUpperCase : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

152

mutated return of Object value for fi/helsinki/cs/titokone/BinaryInterpreter::binaryToString to ( if (x != null) null else throw new RuntimeException ) : NO_COVERAGE

155

removed call to fi/helsinki/cs/titokone/BinaryInterpreter::getMemoryModeFromBinary : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

156

negated conditional : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

157

mutated return of Object value for fi/helsinki/cs/titokone/BinaryInterpreter::binaryToString to ( if (x != null) null else throw new RuntimeException ) : NO_COVERAGE

160

removed call to java/lang/StringBuilder::toString : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::<init> : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

161

removed call to fi/helsinki/cs/titokone/BinaryInterpreter::getAddressFromBinary : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::<init> : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::toString : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

162

removed call to fi/helsinki/cs/titokone/BinaryInterpreter::getSecondRegisterFromBinary : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::<init> : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::toString : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

163

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::<init> : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::toString : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

165

mutated return of Object value for fi/helsinki/cs/titokone/BinaryInterpreter::binaryToString to ( if (x != null) null else throw new RuntimeException ) : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

169

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to fi/helsinki/cs/titokone/BinaryInterpreter::getFirstRegisterFromBinary : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::toString : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::<init> : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

170

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::toString : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::<init> : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

171

removed call to fi/helsinki/cs/titokone/BinaryInterpreter::getAddressFromBinary : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/Integer::parseInt : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

173

removed call to fi/helsinki/cs/titokone/SvcNames::lookupByValue : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

174

negated conditional : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

175

removed call to java/lang/StringBuilder::toString : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::<init> : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/String::toUpperCase : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

mutated return of Object value for fi/helsinki/cs/titokone/BinaryInterpreter::binaryToString to ( if (x != null) null else throw new RuntimeException ) : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

177

mutated return of Object value for fi/helsinki/cs/titokone/BinaryInterpreter::binaryToString to ( if (x != null) null else throw new RuntimeException ) : NO_COVERAGE

181

mutated return of Object value for fi/helsinki/cs/titokone/BinaryInterpreter::binaryToString to ( if (x != null) null else throw new RuntimeException ) : NO_COVERAGE

197

Replaced Shift Right with Shift Left : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetMemoryModeFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

Replaced constant value of 24 with 25 : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetMemoryModeFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/Integer::<init> : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetMemoryModeFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

Substituted 24 with 25 : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetMemoryModeFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

198

removed call to java/util/HashMap::get : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetMemoryModeFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

negated conditional : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetMemoryModeFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

199

removed call to java/lang/StringBuilder::toString : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetMemoryModeFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetMemoryModeFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetMemoryModeFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::<init> : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetMemoryModeFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

200

mutated return of Object value for fi/helsinki/cs/titokone/BinaryInterpreter::getOpCodeFromBinary to ( if (x != null) null else throw new RuntimeException ) : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetMemoryModeFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

202

mutated return of Object value for fi/helsinki/cs/titokone/BinaryInterpreter::getOpCodeFromBinary to ( if (x != null) null else throw new RuntimeException ) : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetOpCodeFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

215

Replaced constant value of 21 with 22 : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetFirstRegisterFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

Substituted 21 with 22 : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetFirstRegisterFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

Replaced Shift Right with Shift Left : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetFirstRegisterFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

216

Substituted 7 with 8 : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetFirstRegisterFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

Replaced bitwise AND with OR : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetFirstRegisterFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

Replaced constant value of 7 with 8 : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetFirstRegisterFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

217

Substituted 0 with 1 : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetFirstRegisterFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

Substituted 0 with 1 : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetFirstRegisterFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

218

mutated return of Object value for fi/helsinki/cs/titokone/BinaryInterpreter::getFirstRegisterFromBinary to ( if (x != null) null else throw new RuntimeException ) : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetFirstRegisterFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

231

Replaced Shift Right with Shift Left : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetMemoryModeFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

Replaced constant value of 19 with 20 : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetMemoryModeFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

Substituted 19 with 20 : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetMemoryModeFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

232

Replaced bitwise AND with OR : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetMemoryModeFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

Substituted 3 with 4 : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetMemoryModeFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

Substituted 3 with 4 : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetMemoryModeFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

233

removed call to fi/helsinki/cs/titokone/BinaryInterpreter::getOpCodeFromBinary : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetMemoryModeFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

234

removed call to java/lang/Integer::<init> : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetMemoryModeFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

235

removed call to java/util/HashMap::get : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetMemoryModeFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

240

Substituted 6 with 7 : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

Replaced constant value of 6 with 7 : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/Integer::intValue : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

Replaced constant value of 8 with 9 : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/Integer::intValue : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

negated conditional : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetMemoryModeFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

negated conditional : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetMemoryModeFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

Substituted 8 with 9 : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

241

negated conditional : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

242

mutated return of Object value for fi/helsinki/cs/titokone/BinaryInterpreter::getMemoryModeFromBinary to ( if (x != null) null else throw new RuntimeException ) : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testBinaryToString(fi.helsinki.cs.titokone.BinaryInterpreterTest)

244

Substituted 1 with 0 : NO_COVERAGE

negated conditional : NO_COVERAGE

Substituted 1 with 0 : NO_COVERAGE

245

mutated return of Object value for fi/helsinki/cs/titokone/BinaryInterpreter::getMemoryModeFromBinary to ( if (x != null) null else throw new RuntimeException ) : NO_COVERAGE

247

Substituted 3 with 4 : NO_COVERAGE

Substituted 2 with 3 : NO_COVERAGE

negated conditional : NO_COVERAGE

Substituted 2 with 3 : NO_COVERAGE

negated conditional : NO_COVERAGE

Substituted 3 with 4 : NO_COVERAGE

248

mutated return of Object value for fi/helsinki/cs/titokone/BinaryInterpreter::getMemoryModeFromBinary to ( if (x != null) null else throw new RuntimeException ) : NO_COVERAGE

251

negated conditional : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetMemoryModeFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

252

mutated return of Object value for fi/helsinki/cs/titokone/BinaryInterpreter::getMemoryModeFromBinary to ( if (x != null) null else throw new RuntimeException ) : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetMemoryModeFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

254

Substituted 1 with 0 : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetMemoryModeFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

negated conditional : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetMemoryModeFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

Substituted 1 with 0 : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetMemoryModeFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

255

mutated return of Object value for fi/helsinki/cs/titokone/BinaryInterpreter::getMemoryModeFromBinary to ( if (x != null) null else throw new RuntimeException ) : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetMemoryModeFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

258

negated conditional : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetMemoryModeFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

Substituted 2 with 3 : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetMemoryModeFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

Substituted 2 with 3 : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetMemoryModeFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

259

mutated return of Object value for fi/helsinki/cs/titokone/BinaryInterpreter::getMemoryModeFromBinary to ( if (x != null) null else throw new RuntimeException ) : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetMemoryModeFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

262

mutated return of Object value for fi/helsinki/cs/titokone/BinaryInterpreter::getMemoryModeFromBinary to ( if (x != null) null else throw new RuntimeException ) : NO_COVERAGE

275

Replaced Shift Right with Shift Left : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetSecondRegisterFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

Substituted 16 with 17 : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetSecondRegisterFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

Replaced constant value of 16 with 17 : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetSecondRegisterFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

276

Replaced bitwise AND with OR : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetSecondRegisterFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

Substituted 7 with 8 : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetSecondRegisterFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

Replaced constant value of 7 with 8 : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetSecondRegisterFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

277

Substituted 0 with 1 : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetSecondRegisterFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

Substituted 0 with 1 : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetSecondRegisterFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

279

mutated return of Object value for fi/helsinki/cs/titokone/BinaryInterpreter::getSecondRegisterFromBinary to ( if (x != null) null else throw new RuntimeException ) : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetSecondRegisterFromBinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

294

Replaced constant value of 65535 with 65536 : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetAddressFrombinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

Replaced bitwise AND with OR : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetAddressFrombinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

Substituted 65535 with 65536 : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetAddressFrombinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

296

Substituted 16 with 17 : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetAddressFrombinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

Replaced constant value of 16 with 17 : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetAddressFrombinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to fi/helsinki/cs/titokone/StringUtils::intToBinary : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetAddressFrombinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

298

Substituted 1 with 0 : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetAddressFrombinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to fi/helsinki/cs/titokone/StringUtils::binaryToInt : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetAddressFrombinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

Substituted 1 with 0 : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetAddressFrombinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

300

removed call to java/lang/StringBuilder::<init> : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetAddressFrombinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetAddressFrombinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::toString : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetAddressFrombinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

removed call to java/lang/StringBuilder::append : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetAddressFrombinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

301

mutated return of Object value for fi/helsinki/cs/titokone/BinaryInterpreter::getAddressFromBinary to ( if (x != null) null else throw new RuntimeException ) : KILLED -> fi.helsinki.cs.titokone.BinaryInterpreterTest.testGetAddressFrombinary(fi.helsinki.cs.titokone.BinaryInterpreterTest)

Active mutators

Tests examined


Report generated by PIT 0.27