  The Theory-Software Translation Workshop, held in New Orleans in February
2019, explored in depth the process of both instantiating theory in software -
for example, implementing a mathematical model in code as part of a simulation
- and using the outputs of software - such as the behavior of a simulation - to
advance knowledge. As computation within research is now ubiquitous, the
workshop provided a timely opportunity to reflect on the particular challenges
of research software engineering - the process of developing and maintaining
software for scientific discovery. In addition to the general challenges common
to all software development projects, research software additionally must
represent, manipulate, and provide data for complex theoretical constructs.
Ensuring this process is robust is essential to maintaining the integrity of
the science resulting from it, and the workshop highlighted a number of areas
where the current approach to research software engineering would benefit from
an evidence base that could be used to inform best practice.
  The workshop brought together expert research software engineers and
academics to discuss the challenges of Theory-Software Translation over a
two-day period. This report provides an overview of the workshop activities,
and a synthesises of the discussion that was recorded. The body of the report
presents a thematic analysis of the challenges of Theory-Software Translation
as identified by workshop participants, summarises these into a set of research
areas, and provides recommendations for the future direction of this work.
