Most computational frameworks for argumentation are based on abstract argumentation, which determines an argument's acceptability on the basis of its ability to counterattack all arguments attacking it. However, this view of argumentation doesn't address how to find arguments, identify attacks, and exploit premises. Assumption-based argumentation addresses these three issues. It's a refinement of abstract argumentation but remains general purpose, nonetheless. Rather than considering arguments to be a primitive concept, assumption-based argumentation defines them as backward deductions (using sets of rules in an underlying logic) supported by sets of assumptions. This approach reduces the notion of an attack against an argument to that of deduction of a contrary of an assumption.