Reverse engineering (RE) is a critical activity in software engineering and cybersecurity, supporting tasks such as malware analysis, vulnerability discovery, legacy system maintenance, and firmware inspection. Despite its importance, there is limited empirical understanding of the challenges, topics, and knowledge gaps faced by RE practitioners in real-world settings, and no publicly available dataset has systematically captured RE discussions from developer Q&A forums. In this paper, we present REStack, a large-scale dataset of RE discussions collected from Stack Overflow and the dedicated Reverse Engineering Stack Exchange site. The dataset comprises over 12,000 RE-related posts spanning more than 15 years. Using Latent Dirichlet Allocation (LDA) with Genetic Algorithm (GA)-based hyperparameter optimization, followed by manual topic labeling, we identify 23 semantically coherent RE topics grouped into six high-level thematic categories. The dataset is further enriched with metadata and difficulty indicators derived from community interaction signals, such as unanswered rates and response times. Our analysis reveals that RE discussions are predominantly practical and task-oriented, with strong emphasis on debugging, decompilation, and system-level analysis, while topics related to memory, firmware, and file format analysis exhibit high difficulty and unresolved rates. Beyond empirical characterization, REStack provides a reusable resource for empirical studies, educational research, and the development and evaluation of AI- and LLM-based developer assistance tools for RE. By releasing the dataset and accompanying scripts, this work aims to facilitate reproducible research and advance data-driven support for RE practice.
翻译:逆向工程(RE)是软件工程和网络安全中的关键活动,支持恶意软件分析、漏洞发现、遗留系统维护及固件审查等任务。尽管其重要性显著,但关于逆向工程从业者在真实场景中面临的挑战、讨论主题及知识缺口,目前尚缺乏实证研究,且不存在公开可用的数据集能系统性地捕获开发者问答论坛中的逆向工程讨论。本文提出REStack——一个从Stack Overflow及专用逆向工程Stack Exchange站点收集的逆向工程讨论大规模数据集。该数据集包含超过12,000条逆向工程相关帖子,时间跨度逾15年。我们采用基于遗传算法(GA)超参数优化的潜在狄利克雷分配(LDA)模型,结合人工主题标注,识别出23个语义连贯的逆向工程主题,并将其归为六大高层次主题类别。数据集进一步通过元数据及基于社区互动信号(如未解答率与响应时间)的难度指标得到增强。分析表明,逆向工程讨论以实践性与任务导向性为主,重点关注调试、反编译及系统级分析,而与内存、固件及文件格式分析相关的主题则呈现高难度与高未解答率特征。除实证表征外,REStack还为实证研究、教育探索及基于人工智能和大型语言模型的逆向工程开发者辅助工具的开发与评估提供了可复用资源。通过公开数据集及配套脚本,本研究旨在推动可重复性研究,并促进对逆向工程实践的数据驱动支持。