1. A method for compressing and decompressing an initial program executable by a microprocessor or interpretable by an interpreter of an integrated circuit device, comprising the following steps of: a) reformatting initial instructions of said program to obtain intermediate instructions by function f; b) determining repetition and definition patterns, for each repetition pattern, of a pair formed from said repetition pattern and an instruction compressed by function h; c) replacing the intermediate instructions with compressed instructions and modifying the program links to obtain a program compressed by function g; d) replacing the compressed instructions with the intermediate instructions by function g −1 to obtain the intermediate program; and e) reformatting the intermediate instructions by function f 1 to obtain the initial program.