Heat your stock in large saucepan and keep it warm. Break the woody ends off the asparagus and discard; then chop the asparagus into 2 or 3 (depending on the size of your asparagus). Set the asparagus tips to the side.
Add the oil, garlic and shallot to a large frying pan and sauté until softened. Add the rice and stir to coat in the oil. Add the wine and stir until it has absorbed. Add asparagus (expect the tips), saffron and a few ladles of stock and stir until absorbed. Continue adding a ladle at a time. Toward the end of cooking add the asparagus tips. The risotto is ready when all the stock is gone or the risotto is creamy and cooked through - but not mushy. About 25 minutes or so.
Add the butter and parmesan and stir until melted through. Serve with extra parmesan on top.