Investigating Collaboration in Software Reverse Engineering
Abstract
Reverse engineering (RE) is a rigorous process of exploration and analysis to support software design recovery and exploit development. The process is often conducted in teams to divide the workload and take full advantage of engineers' individual expertise and strengths. Collaboration in RE requires versatile and reliable tools that can match the environment's unpredictable and fluid nature. While studies on collaborative software development have indicated common best practices and implementations, similar standards have not been explored in reverse engineering. This research conducts semi-structured interviews with reverse engineering experts to understand their needs and solutions while working in a team. The results describe an array of major challenges that are each addressed by employing tools such as issue tracking software, shared workspaces, and version control systems. Such tools support documentation and continuity, while mitigating redundancies in concurrent work. Though the value of these tools is acknowledged by the experts, seamless workflow integration remains a challenge. The identification of current needs and practices offers additional opportunities for collaborative tool developers to aid reverse engineers.
Document Details
- Document Type
- Technical Report
- Publication Date
- Mar 24, 2022
- Accession Number
- AD1166944
Entities
People
- Allison M. Wong
Organizations
- Air Force Institute of Technology