论文标题
IREEN:通过迭代神经程序合成的黑盒功能的反向工程
IReEn: Reverse-Engineering of Black-Box Functions via Iterative Neural Program Synthesis
论文作者
论文摘要
在这项工作中,我们研究了揭示黑盒代理功能的问题。值得注意的是,我们对这种代理的行为的可解释和正式描述感兴趣。理想情况下,此描述将采用以高级语言编写的程序的形式。该任务也称为逆向工程,在软件工程,计算机安全性中起着关键作用,但最近在可解释性方面也起着关键作用。与先前的工作相反,我们不依赖于黑匣子上的特权信息,而是在仅访问程序的输入和输出的较弱的假设下调查问题。我们通过使用生成神经程序综合方法迭代精炼候选者来解决这个问题,直到我们达到功能等效程序为止。我们在Karel数据集上评估了方法的性能。我们的结果表明,所提出的方法在78%的案件中找到了大约功能的等效程序,甚至超过了先前在黑盒中具有特权信息的工作,从而超过了这一挑战的最新挑战。
In this work, we investigate the problem of revealing the functionality of a black-box agent. Notably, we are interested in the interpretable and formal description of the behavior of such an agent. Ideally, this description would take the form of a program written in a high-level language. This task is also known as reverse engineering and plays a pivotal role in software engineering, computer security, but also most recently in interpretability. In contrast to prior work, we do not rely on privileged information on the black box, but rather investigate the problem under a weaker assumption of having only access to inputs and outputs of the program. We approach this problem by iteratively refining a candidate set using a generative neural program synthesis approach until we arrive at a functionally equivalent program. We assess the performance of our approach on the Karel dataset. Our results show that the proposed approach outperforms the state-of-the-art on this challenge by finding an approximately functional equivalent program in 78% of cases -- even exceeding prior work that had privileged information on the black-box.