|
| 1 | +dataset: great_code |
| 2 | +templates: |
| 3 | + 027215bb-1055-4584-b3ce-3267a8043d3a: !Template |
| 4 | + answer_choices: null |
| 5 | + id: 027215bb-1055-4584-b3ce-3267a8043d3a |
| 6 | + jinja: "{% set mask = 'def <FUNC_NAME> (' %}\n{% set indent = ' ' %}\n{% set\ |
| 7 | + \ ns = namespace(indent_size=0, result=[], masked=false, target='') %}\n{% for\ |
| 8 | + \ token in source_tokens %}\n {% if ns.masked is false and token.startswith('def')\ |
| 9 | + \ %}\n {% set ns.target = token.split('def ')[1][:-1] %}\n \ |
| 10 | + \ {% set token = mask %}\n {% set ns.masked = true %}\n {%\ |
| 11 | + \ endif%}\n {% if token== '#INDENT#' %}\n {% set ns.indent_size = ns.indent_size\ |
| 12 | + \ + 1 %}\n {% set ns.result = ns.result + [indent * ns.indent_size] %}\n\ |
| 13 | + \ {% elif token == '#NEWLINE#' %}\n {% set ns.result = ns.result\ |
| 14 | + \ + [\"\\n\"] %}\n {% elif token == '#UNINDENT#' %}\n {% set ns.indent_size\ |
| 15 | + \ = ns.indent_size - 1 %}\n {% else %}\n {% if not loop.first and\ |
| 16 | + \ loop.previtem == '#NEWLINE#' %}\n {% set ns.result = ns.result\ |
| 17 | + \ + [indent * ns.indent_size] %}\n {% endif %}\n {% set ns.result\ |
| 18 | + \ = ns.result + [token | replace('\\\\n', '\\n'), \" \"] %}\n {% endif %}\n\ |
| 19 | + {% endfor %}\n{{ns.result | join(\"\") | replace(\" . \", \".\") | replace(\"\ |
| 20 | + \ , \", \", \") | replace(\"( \", \"(\") | replace(\" )\", \")\") | replace(\"\ |
| 21 | + [ \", \"[\") | replace(\" ]\", \"]\")}}\n\nWhat is the function name?\n|||\n\ |
| 22 | + {{ ns.target }}" |
| 23 | + metadata: !TemplateMetadata |
| 24 | + choices_in_prompt: false |
| 25 | + metrics: |
| 26 | + - Accuracy |
| 27 | + original_task: false |
| 28 | + name: function name generation |
| 29 | + reference: '' |
| 30 | + 24fa908d-daa2-4fd2-bb22-374021c1fc23: !Template |
| 31 | + answer_choices: null |
| 32 | + id: 24fa908d-daa2-4fd2-bb22-374021c1fc23 |
| 33 | + jinja: "{% set result = \"\" %}\n{% set indent = ' ' %}\n{% set ns = namespace(indent_size=0,\ |
| 34 | + \ line_number=0, buggy_line=0, bug_location=0, bug_len=0, result=[], result_lines=[])\ |
| 35 | + \ %}\n{% set fixed_token = source_tokens[repair_targets[0]] %}\n{% set buggy_line_content\ |
| 36 | + \ = \"\" %}\n{% set fixed_buggy_line_content = \"\" %}\n\n{% if has_bug and\ |
| 37 | + \ (repair_targets | length > 0) %}\n {% for token in source_tokens %}\n\ |
| 38 | + \ {% if loop.index0 == error_location %}\n {% set ns.buggy_line\ |
| 39 | + \ = ns.line_number %}\n {% set ns.bug_location = (ns.result |\ |
| 40 | + \ join(\"\") | length) %}\n {% set ns.bug_len = (token | length)\ |
| 41 | + \ %}\n {% endif%}\n {% if token== '#INDENT#' %}\n {%\ |
| 42 | + \ set ns.indent_size = ns.indent_size + 1 %}\n {% set ns.result =\ |
| 43 | + \ ns.result + [indent * ns.indent_size] %}\n {% elif token == '#NEWLINE#'\ |
| 44 | + \ %}\n {% set ns.result_lines = ns.result_lines + [ns.result |\ |
| 45 | + \ join(\"\")] %}\n {% set ns.result = [] %}\n {% set\ |
| 46 | + \ ns.line_number = ns.line_number + 1 %}\n {% elif token == '#UNINDENT#'\ |
| 47 | + \ %}\n {% set ns.indent_size = ns.indent_size - 1 %}\n {%\ |
| 48 | + \ else %}\n {% if not loop.first and loop.previtem == '#NEWLINE#'\ |
| 49 | + \ %}\n {% set ns.result = ns.result + [indent * ns.indent_size]\ |
| 50 | + \ %}\n {% endif %}\n {% set ns.result = ns.result\ |
| 51 | + \ + [token | replace('\\\\n', '\\n'), \" \"] %}\n {% endif %}\n {%\ |
| 52 | + \ endfor %}\n {% set ns.result_lines = ns.result_lines + [ns.result | join(\"\ |
| 53 | + \")] %}\n {% set result = ns.result_lines | join(\"\\n\") %}\n {{result\ |
| 54 | + \ | replace(\" . \", \".\") | replace(\" , \", \", \") | replace(\"( \", \"\ |
| 55 | + (\") | replace(\" )\", \")\") | replace(\"[ \", \"[\") | replace(\" ]\", \"\ |
| 56 | + ]\")}}\n\n {% set buggy_line_content = ns.result_lines[ns.buggy_line] | trim\ |
| 57 | + \ | replace(\" . \", \".\") | replace(\" , \", \", \") | replace(\"( \", \"\ |
| 58 | + (\") | replace(\" )\", \")\") | replace(\"[ \", \"[\") | replace(\" ]\", \"\ |
| 59 | + ]\") %}\n {% set fixed_buggy_line_content = (ns.result_lines[ns.buggy_line][:ns.bug_location]\ |
| 60 | + \ + fixed_token + ns.result_lines[ns.buggy_line][ns.bug_location + ns.bug_len:])\ |
| 61 | + \ | trim | replace(\" . \", \".\") | replace(\" , \", \", \") | replace(\"\ |
| 62 | + ( \", \"(\") | replace(\" )\", \")\") | replace(\"[ \", \"[\") | replace(\"\ |
| 63 | + \ ]\", \"]\")%}\n\n Fix the buggy line: {{buggy_line_content}}\n |||\n\ |
| 64 | + \ {{fixed_buggy_line_content}}\n{% endif %}" |
| 65 | + metadata: !TemplateMetadata |
| 66 | + choices_in_prompt: false |
| 67 | + metrics: |
| 68 | + - Other |
| 69 | + original_task: false |
| 70 | + name: fix buggy line |
| 71 | + reference: '' |
| 72 | + 3c0f36da-834a-4814-86f6-6e55414fbd32: !Template |
| 73 | + answer_choices: null |
| 74 | + id: 3c0f36da-834a-4814-86f6-6e55414fbd32 |
| 75 | + jinja: "{% set mask = '<MASK>' %}\n{% set indent = ' ' %}\n{% set ns = namespace(indent_size=0,\ |
| 76 | + \ result=[]) %}\n\n{% if has_bug %}\n {% for token in source_tokens %}\n\ |
| 77 | + \ {% if loop.index0 == error_location %}\n {% set token\ |
| 78 | + \ = mask %}\n {% endif%}\n {% if token== '#INDENT#' %}\n \ |
| 79 | + \ {% set ns.indent_size = ns.indent_size + 1 %}\n {% set ns.result\ |
| 80 | + \ = ns.result + [indent * ns.indent_size] %}\n {% elif token == '#NEWLINE#'\ |
| 81 | + \ %}\n {% set ns.result = ns.result + [\"\\n\"] %}\n {%\ |
| 82 | + \ elif token == '#UNINDENT#' %}\n {% set ns.indent_size = ns.indent_size\ |
| 83 | + \ - 1 %}\n {% else %}\n {% if not loop.first and loop.previtem\ |
| 84 | + \ == '#NEWLINE#' %}\n {% set ns.result = ns.result + [indent\ |
| 85 | + \ * ns.indent_size] %}\n {% endif %}\n {% set ns.result\ |
| 86 | + \ = ns.result + [token | replace('\\\\n', '\\n'), \" \"] %}\n {% endif\ |
| 87 | + \ %}\n {% endfor %}\n {{ns.result | join(\"\") | replace(\" . \", \".\"\ |
| 88 | + ) | replace(\" , \", \", \") | replace(\"( \", \"(\") | replace(\" )\", \"\ |
| 89 | + )\") | replace(\"[ \", \"[\") | replace(\" ]\", \"]\")}}\n \n Given the\ |
| 90 | + \ code above, what is a proper replacement for {{mask}}?\n |||\n {{source_tokens[repair_targets[0]]}}\n\ |
| 91 | + {% endif %}" |
| 92 | + metadata: !TemplateMetadata |
| 93 | + choices_in_prompt: false |
| 94 | + metrics: |
| 95 | + - Accuracy |
| 96 | + original_task: true |
| 97 | + name: identifier prediction no choices |
| 98 | + reference: '' |
| 99 | + 57f93ca1-1e27-40ff-8fa4-ba11a499baef: !Template |
| 100 | + answer_choices: Yes ||| No |
| 101 | + id: 57f93ca1-1e27-40ff-8fa4-ba11a499baef |
| 102 | + jinja: "{% set indent = ' ' %}\n{% set ns = namespace(indent_size=0, result=[])\ |
| 103 | + \ %}\n{% for token in source_tokens %}\n {% if token== '#INDENT#' %}\n \ |
| 104 | + \ {% set ns.indent_size = ns.indent_size + 1 %}\n {% set ns.result\ |
| 105 | + \ = ns.result + [indent * ns.indent_size] %}\n {% elif token == '#NEWLINE#'\ |
| 106 | + \ %}\n {% set ns.result = ns.result + [\"\\n\"] %}\n {% elif token\ |
| 107 | + \ == '#UNINDENT#' %}\n {% set ns.indent_size = ns.indent_size - 1 %}\n\ |
| 108 | + \ {% else %}\n {% if not loop.first and loop.previtem == '#NEWLINE#'\ |
| 109 | + \ %}\n {% set ns.result = ns.result + [indent * ns.indent_size]\ |
| 110 | + \ %}\n {% endif %}\n {% set ns.result = ns.result + [token\ |
| 111 | + \ | replace('\\\\n', '\\n'), \" \"] %}\n {% endif %}\n{% endfor %}\n{{ns.result\ |
| 112 | + \ | join(\"\") | replace(\" . \", \".\") | replace(\" , \", \", \") | replace(\"\ |
| 113 | + ( \", \"(\") | replace(\" )\", \")\") | replace(\"[ \", \"[\") | replace(\"\ |
| 114 | + \ ]\", \"]\")}}\n\nIs there a bug in the code above?\n|||\n{{ {True: \"Yes\"\ |
| 115 | + , False: \"No\"}[has_bug] }}" |
| 116 | + metadata: !TemplateMetadata |
| 117 | + choices_in_prompt: true |
| 118 | + metrics: |
| 119 | + - Accuracy |
| 120 | + original_task: false |
| 121 | + name: bug detection |
| 122 | + reference: '' |
| 123 | + 6b154f4f-50a5-4890-b0fc-a0118061ce0c: !Template |
| 124 | + answer_choices: '{% if has_bug %} {% set nss = namespace(choices=[]) %} {% |
| 125 | + for i in repair_candidates %} {% set nss.choices = nss.choices + [source_tokens[(i |
| 126 | + | int)]] %} {% endfor %} {{nss.choices | unique | join(" ||| ")}} {% |
| 127 | + endif %}' |
| 128 | + id: 6b154f4f-50a5-4890-b0fc-a0118061ce0c |
| 129 | + jinja: "{% set mask = '<MASK>' %}\n{% set indent = ' ' %}\n{% set ns = namespace(indent_size=0,\ |
| 130 | + \ result=[]) %}\n\n{% if has_bug %}\n {% for token in source_tokens %}\n\ |
| 131 | + \ {% if loop.index0 == error_location %}\n {% set token\ |
| 132 | + \ = mask %}\n {% endif%}\n {% if token== '#INDENT#' %}\n \ |
| 133 | + \ {% set ns.indent_size = ns.indent_size + 1 %}\n {% set ns.result\ |
| 134 | + \ = ns.result + [indent * ns.indent_size] %}\n {% elif token == '#NEWLINE#'\ |
| 135 | + \ %}\n {% set ns.result = ns.result + [\"\\n\"] %}\n {%\ |
| 136 | + \ elif token == '#UNINDENT#' %}\n {% set ns.indent_size = ns.indent_size\ |
| 137 | + \ - 1 %}\n {% else %}\n {% if not loop.first and loop.previtem\ |
| 138 | + \ == '#NEWLINE#' %}\n {% set ns.result = ns.result + [indent\ |
| 139 | + \ * ns.indent_size] %}\n {% endif %}\n {% set ns.result\ |
| 140 | + \ = ns.result + [token | replace('\\\\n', '\\n'), \" \"] %}\n {% endif\ |
| 141 | + \ %}\n {% endfor %}\n {{ns.result | join(\"\") | replace(\" . \", \".\"\ |
| 142 | + ) | replace(\" , \", \", \") | replace(\"( \", \"(\") | replace(\" )\", \"\ |
| 143 | + )\") | replace(\"[ \", \"[\") | replace(\" ]\", \"]\")}}\n \n Given the\ |
| 144 | + \ code above, what is a proper replacement for {{mask}}? Choose among: {{answer_choices\ |
| 145 | + \ | join(\", \")}}\n |||\n {{source_tokens[repair_targets[0]]}}\n{% endif\ |
| 146 | + \ %}" |
| 147 | + metadata: !TemplateMetadata |
| 148 | + choices_in_prompt: true |
| 149 | + metrics: |
| 150 | + - Accuracy |
| 151 | + original_task: false |
| 152 | + name: identifier prediction with choices |
| 153 | + reference: '' |
0 commit comments