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.

Open PDF

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

Tags

Communities of Interest

  • Cyber
  • Engineered Resilient Systems

DTIC Thesaurus Topics

  • Air Force
  • Best Practices
  • Computer Programming
  • Control Systems
  • Debugging
  • Department Of Defense
  • Engineers
  • Governments
  • Identification
  • Information Operations
  • Malware
  • Operating Systems
  • Software Design
  • Software Development
  • Supply Chain Management
  • United States
  • United States Government

Fields of Study

  • Computer science
  • Engineering

Readers

  • Distributed Systems and Data Platform Development
  • Research Science/Academic Research
  • Team-Based Human-Centered Cognitive Task Decision Making and Information Performance.