Abduction's role in reverse engineering software

2012 
As software has become an integral part of most systems, so too have cyber threats become an expected attack vector. This has made the task of reverse engineering software an increasingly necessary and critical skill. Software systems are regarded as the most complex of human designed technologies. Software can be difficult to understand when the source code is provided, but a reverse engineer is restricted to machine code and often intentionally obscured machine code. This makes reverse engineering an extreme technical challenge. This work examines the reverse engineer's cognitive task as abductive reasoning. Abductive reasoning has received significant theoretical attention in the last decade resulting in a broader account of abduction types and methods. Abduction, as the only generative means of inference is essential to hard diagnostic tasks and scientific exploration that require non-deductive and non-inductive hypothesis generation. In particular, we explore manipulative abduction and meta-diagrammatic abduction employed by a reverse engineer to counter falsification of a hypotheses and surprise. With this basis, we are studying the work of reverse engineering with the dual goals of understanding the task and looking at ways AI systems can be constructed to augment reverse engineering. Process philosophy principles of panexperientialism and consciousness are used to form a critique of current AI approaches and some tenants of a novel abductive AI framework are justified.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    8
    References
    3
    Citations
    NaN
    KQI
    []