As a general rule, verbs that in the present have an akkusative object form the perfect with haben. The rest with sein. For example:
The table breaks = Der Tisch bricht. [ Subject Nominative: tisch, verb: brechen] ---> in perfect ---> Der Tisch ist gebrochen.
I break the table = Ich breche den Tisch. [Subject nominative: Ich, verb: breche, Akkusative object: den Tisch.] ---> in perfect ---> Ich habe den Tisch gebrochen.
Having this in mind, some verbs can take both habe and sein but others belong to only on eof the two categories. Examples, are essen = to eat which belongs to haben and rennen = to run which belongs to sein.