<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _detect(self):
 """ Detect incorrect erc20 interface Returns: dict: [contrat name] = set(str) events """

        results = []
        for c in self.contracts:
            functions = IncorrectERC20InterfaceDetection.detect_incorrect_erc20_interface(c)
            if functions:
                info = "{} ({}) has incorrect ERC20 function interface(s):\n"
                info = info.format(c.name,
                                   c.source_mapping_str)
                for function in functions:
                    info += "\t-{} ({})\n".format(function.name, function.source_mapping_str)
                json = self.generate_json_result(info)
                self.add_functions_to_json(functions, json)
                results.append(json)

        return results