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.
Abduction's role in reverse engineering software
2012-07-01
510313 byte
Conference paper
Electronic Resource
English
Emerald Group Publishing | 1998
Software - Reverse Engineering von Schiffsstrukturen
Online Contents | 2014
Software and digitizers push reverse engineering forward
Automotive engineering | 1996
|Reverse engineering of software life cycle data in certification projects
Tema Archive | 2003
|