How Network Reverse Engineering Differs from Software Reverse Engineering

Software reverse engineering has undergone many milestones and stepped from research to industry quickly in recent ten years. By analogy, researchers have found that it is also possible to apply reverse engineering to computer networks. The goal of network reverse engineering is to annotate a living map of the networks, which exhibits node role, link connectivity, topology dynamics, and bandwidth usage. It is necessary, but also challenging, to employ reverse engineering to computer network. We present an comparatively analysis on the reverse engineering of both software and network from five fundamental perspectives: source, analysis, presentation, validation, and prediction. The comparison indicates that both software and network communities would benefit from the collaborative effort on reverse engineering.