Many people say that their 3 month old puppy is aggressive around food- actually he's testing, and just being a puppy. Do not read anything more into this or try correct the behaviour. It will right itself if you simply ignore it and don't go into battle.
When you give your puppy his food, let him enjoy the food and do not force him to give it up. Add in a bit extra whilst he is eating his food. If you show him that you give; you do not take- then he won't feel the need to protect what is his.
With older dogs (and if this problem exists at 16 weeks and beyond) then you need to be seen to give give and give some more. Take a look at this clip and article linked below.