topologyWriter.ts now sets the system software each device's constructor makes, through its setters: a switch's SSID and learning time, a host's SSID, RIP, manual routes, DHCP client and server with static assignments, static NAT, the modem, and a router's or home router's firewall. The firewall is reached as XMLEncoder reaches it, through the web server's `konfig` plug-in: the constructor hangs the same object there and among the applications, where its key differs (Firewall on a router, NatGateway on a home router). A switch's SSID the file lacked stays unwritten, so Java rolls one as it did. Files and applications are later layers. javaBeansWriter.ts: a call can carry statements on its result (a map's value changed through get(key)), checked by Java's XMLDecoder in a new case; a short() helper for Java's short values. Checked by Java against Java: every corpus file, read and written again, loads with the same system software (without files and applications) as the original. The synthetic topology adds what the corpus lacks: a router firewall switched on with rules of every protocol (one with a null address), every flag away from its default, a modem with its own port and target, and a PC's SSID, routes and DHCP server. 16 mutation probes, each rewritten and loaded by Java, were all caught. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
20 lines
435 B
XML
20 lines
435 B
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<java version="17" class="java.beans.XMLDecoder">
|
|
<object class="java.util.HashMap">
|
|
<void method="put">
|
|
<string>key</string>
|
|
<object class="java.util.ArrayList">
|
|
<void method="add">
|
|
<string>first</string>
|
|
</void>
|
|
</object>
|
|
</void>
|
|
<void method="get">
|
|
<string>key</string>
|
|
<void method="add">
|
|
<string>second</string>
|
|
</void>
|
|
</void>
|
|
</object>
|
|
</java>
|