It is common for the front of the slab to heave just as yours is doing. The reason for this is the front edge of the slab is the only edge where it is easy for water to get in under the slab. The most common way for this to happen is when the slab pour doesn't go all the way down to the frost pour. If you were to imagine a cross section of your garage floor and foundation, you have the slab and then you have the gravel under the slab and then you have the frost pour which is typically dropped down in the door areas so the proper grade can be attained before the floor is poured. The mistake here is that after the gravel is graded, it needs to be REMOVED in the area at the door openings to expose the frost pour and then you pour the slab right down to the frost pour. This results in a very thick leading edge of the slab which is in tight contact with the frost pour. This eliminates the chances of the gravel becoming a conduit for water to wick under the slab. The door opening area is also the coldest part of the slab, so if you have moisture in the gravel under the slab and it freezes, you will heave up the front edge of the slab every time. I have been pouring slabs right down onto the frost pour for over 30 years and have never had an instance of the slab heaving. I have also repaired failures like this by cutting the slab out in the damaged area and then removing it. Then the area is excavated to expose the frost pour and the new concrete installed. I usually take the time to install an angle iron edge which is installed even with the inside of the stem wall at a level even with the desired finish level of the floor. The concrete ahead of the angle iron is finished even to the lower edge of the angle making a step in the floor. The garage door will close onto this lower step, eliminating the possibility of wind driven rain coming up into the garage even with the door closed.