As mentioned, 'ballistic fingerprinting' - having a preexisting database of all guns and matching recovered brass to that database - presents some daunting problems.
Matching a recovered bullet to a suspected barrel is quite a bit more reliable, although not foolproof (e.g. two new barrels that were produced consecutively *may* have quite similar toolmarks).
Crooks trying to cover their tracks should be careful, e.g. a Glock 17 (9mm) has a 1 in 9.84 twist, while a Glock 31 (.357) has a 1 in 15.98 twist. A careful examiner would pick up on that, I'd think. Commercial bullets are also different, e.g. Speer 357 sig 125 gr is #4360, while a 9mm 124 grain is #3998. Aside from the one grain difference, the 357 bullet may be constructed differently, because of the higher velocity.
Matching a recovered bullet to a suspected barrel is quite a bit more reliable, although not foolproof (e.g. two new barrels that were produced consecutively *may* have quite similar toolmarks).
Crooks trying to cover their tracks should be careful, e.g. a Glock 17 (9mm) has a 1 in 9.84 twist, while a Glock 31 (.357) has a 1 in 15.98 twist. A careful examiner would pick up on that, I'd think. Commercial bullets are also different, e.g. Speer 357 sig 125 gr is #4360, while a 9mm 124 grain is #3998. Aside from the one grain difference, the 357 bullet may be constructed differently, because of the higher velocity.