<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def run_program(self, name, arguments=[], timeout=30, exclusive=False):
 """Runs a program in the working directory to completion. Args: name (str):
 The name of the program to be executed. arguments (tuple):
 Command-line arguments for the program. timeout (int):
 The timeout for execution. exclusive (bool):
 Prevent parallel validation runs on the test machines, e.g. when doing performance measurements for submitted code. Returns: tuple: A tuple of the exit code, as reported by the operating system, and the output produced during the execution. """

        logger.debug("Running program ...")
        if exclusive:
            kill_longrunning(self.config)

        prog = RunningProgram(self, name, arguments, timeout)
        return prog.expect_end()