Decompilation techniques were initially used in the 1960s to aid in the migration of programs from one platform to another. Since then, decompilation techniques have been used to aid in the recovery of lost source code, debugging of programs, locating of viruses, comprehending programs, recovery of high-level views of programs, and more; see WhyDecompilation.