def transaction(self, caller, address, value, data, gas=None):
self._transaction('<STR_LIT>', caller, value=value, address=address, data=data, gaslimit=gas)<EOL>
Issue a symbolic transaction in all running states

            :param caller: the address of the account sending the transaction
            :type caller: int or EVMAccount
            :param address: the address of the contract to call
            :type address: int or EVMAccount
            :param value: balance to be transfered on creation
            :type value: int or BitVecVariable
            :param data: initial data
            :param gas: gas budget
            :raises NoAliveStates: if there are no alive states to execute