python_env / server /data /snippets_medium.json
darshanajudiya7's picture
Upload folder using huggingface_hub
d25ab77 verified
[
{
"snippet_id": "medium_001",
"filename": "cart.py",
"code": "def collect_names(items):\n names = []\n for i in range(len(items) - 1):\n names.append(items[i].name)\n return names",
"gold_issues": [
{
"issue_id": "medium_001_off_by_one",
"line": 3,
"issue_type": "LOGIC",
"severity": "MEDIUM",
"description": "Loop skips the last item because of an off-by-one range.",
"required": true,
"explanation_keywords": ["off-by-one", "last item", "range", "skip", "len"]
}
],
"must_approve": false,
"must_reject": true
},
{
"snippet_id": "medium_002",
"filename": "lists.py",
"code": "def add_item(item, bucket=[]):\n bucket.append(item)\n return bucket",
"gold_issues": [
{
"issue_id": "medium_002_mutable_default",
"line": 1,
"issue_type": "LOGIC",
"severity": "HIGH",
"description": "Mutable default argument is shared between calls.",
"required": true,
"explanation_keywords": ["mutable", "default", "shared", "calls", "list"]
}
],
"must_approve": false,
"must_reject": true
},
{
"snippet_id": "medium_003",
"filename": "loader.py",
"code": "def load_payload(reader):\n try:\n return reader.read()\n except Exception:\n pass\n return None",
"gold_issues": [
{
"issue_id": "medium_003_swallow",
"line": 4,
"issue_type": "LOGIC",
"severity": "HIGH",
"description": "Broad exception is swallowed, hiding errors from callers.",
"required": true,
"explanation_keywords": ["exception", "swallow", "pass", "hide", "error"]
}
],
"must_approve": false,
"must_reject": true
},
{
"snippet_id": "medium_004",
"filename": "billing.py",
"code": "def total_price(prices):\n total = 0\n for price in prices:\n total = total + str(price)\n return total",
"gold_issues": [
{
"issue_id": "medium_004_type_bug",
"line": 4,
"issue_type": "LOGIC",
"severity": "MEDIUM",
"description": "Converts price to string and concatenates instead of adding numerically.",
"required": true,
"explanation_keywords": ["string", "concatenate", "numeric", "add", "type"]
}
],
"must_approve": false,
"must_reject": true
},
{
"snippet_id": "medium_005",
"filename": "flags.py",
"code": "def should_run(user_input):\n if user_input == True:\n return True\n return False",
"gold_issues": [
{
"issue_id": "medium_005_bool_compare",
"line": 2,
"issue_type": "LOGIC",
"severity": "LOW",
"description": "Explicit comparison to True is brittle and can mis-handle truthy values.",
"required": true,
"explanation_keywords": ["true", "truthy", "boolean", "comparison", "if"]
}
],
"must_approve": false,
"must_reject": true
},
{
"snippet_id": "medium_006",
"filename": "ranges.py",
"code": "def between(value, start, end):\n if value >= start or value <= end:\n return True\n return False",
"gold_issues": [
{
"issue_id": "medium_006_boolean_logic",
"line": 2,
"issue_type": "LOGIC",
"severity": "HIGH",
"description": "Uses `or` instead of `and`, so the range check almost always passes.",
"required": true,
"explanation_keywords": ["or", "and", "range", "always", "boolean"]
}
],
"must_approve": false,
"must_reject": true
},
{
"snippet_id": "medium_007",
"filename": "cleanup.py",
"code": "def remove_empty(values):\n for value in values:\n if not value:\n values.remove(value)\n return values",
"gold_issues": [
{
"issue_id": "medium_007_mutation_during_iteration",
"line": 4,
"issue_type": "LOGIC",
"severity": "HIGH",
"description": "Mutates the list while iterating, causing elements to be skipped.",
"required": true,
"explanation_keywords": ["mutate", "iteration", "remove", "skip", "list"]
}
],
"must_approve": false,
"must_reject": true
},
{
"snippet_id": "medium_008",
"filename": "averages.py",
"code": "def average(numbers):\n if not numbers:\n return 0\n return sum(numbers) / (len(numbers) - 1)",
"gold_issues": [
{
"issue_id": "medium_008_divisor",
"line": 4,
"issue_type": "LOGIC",
"severity": "HIGH",
"description": "Divides by len(numbers) - 1, producing the wrong average and crashing for one item.",
"required": true,
"explanation_keywords": ["average", "divide", "len", "minus 1", "wrong"]
}
],
"must_approve": false,
"must_reject": true
},
{
"snippet_id": "medium_009",
"filename": "retry.py",
"code": "def fetch_name(client):\n try:\n return client.name()\n except ValueError:\n return \"\"\n return None",
"gold_issues": [
{
"issue_id": "medium_009_unreachable_fallback",
"line": 6,
"issue_type": "LOGIC",
"severity": "LOW",
"description": "The final return is unreachable and suggests the error path was designed incorrectly.",
"required": false,
"explanation_keywords": ["unreachable", "return", "fallback", "dead code"]
},
{
"issue_id": "medium_009_swallow",
"line": 5,
"issue_type": "LOGIC",
"severity": "MEDIUM",
"description": "Returns an empty string on ValueError, masking the failure as a valid result.",
"required": true,
"explanation_keywords": ["empty string", "mask", "failure", "valid result", "error"]
}
],
"must_approve": false,
"must_reject": true
},
{
"snippet_id": "medium_010",
"filename": "tokens.py",
"code": "def normalize_token(token):\n if token is \"\":\n return None\n return token.strip()",
"gold_issues": [
{
"issue_id": "medium_010_is_compare",
"line": 2,
"issue_type": "LOGIC",
"severity": "MEDIUM",
"description": "Uses `is` for string comparison instead of equality.",
"required": true,
"explanation_keywords": ["is", "string", "comparison", "equality", "identity"]
}
],
"must_approve": false,
"must_reject": true
}
]