Yazılım uygulamalarında, program dilimleme, bir yazılım programının temel öğelerini tanımlamak ve bunları programın çalışmasını sağlayan daha karmaşık koddan yavaşça çıkarmak için bir yöntemdir. Program dilimleme işlemi, yazılım mühendisliği çalışmaları için özellikle önemlidir, çünkü yazılım mühendisinin uygulamayı gerçekten zorlayan kaynak koduna erişmek için karmaşık kod dizileri yoluyla yolu bulmasını sağlar. Bu alt programları çıkartabilmek ve kaynak kodunu görebilmek, geniş bir potansiyel hata aralığını tespit etmeyi ve böylece yazılımı daha verimli çalışmasını mümkün kılar.
Kodun kasıtlı olarak karmaşık olması olağandışı değildir. Bu eylemin temel nedenlerinden biri, kodun daha karmaşık bölümlerinin kaynak kodunun virüslerden ve bilgisayar korsanlığı girişimlerinden kaynaklanan bozulmalardan korunmasına yardımcı olmasıdır. Genellikle, bir programcı, kaynak kodla neyin yönetilebileceğini gerçekleştirmek için birkaç adım atmak için temelde birkaç adım atmayı gerekli kılan büyük miktarda ekstra kod ekler. Bu, yazılımı olası bozulmalara karşı koruma perspektifinden arzu edilen bir durum olsa da, kaynak koduna erişmenin gerekli olduğu durumlar vardır. Program dilimlemenin devreye girdiği yer burasıdır.
Dilimlemeyi programlamak için iki temel yaklaşım veya boyut vardır. Anlamsal boyut, gerekli olan ve dolayısıyla korunacak kod dizesinin elemanlarına odaklanır. Hem statik hem de dinamik işlevler, temel öğelerin arkasında kalan ancak maskeleme işleminin bir parçası olarak eklenen kodun çoğunun kaldırıldığı belirli dilimleme yöntemlerinden yararlanılarak tanımlanır ve korunur. Anlamsal program dilimleme ile mühendis, eğer varsa, ek kodun gerçekte ne kalacağına karar verme konusunda makul bir takdir yetkisine sahiptir.
Sözdizimsel program dilimleme, mühendise aynı miktarda seçenek sunmaz. Bu yaklaşımla, kodun temel işlevi için gerekli olmayan her şey kaldırılır. Bir dizginin gerçek bir amaca hizmet etmediği tespit edilirse ve kodda bulunan ilgi alanı anlamında herhangi bir etkisi olmazsa, geçerli olur. Bu yaklaşım, programın orijinal sözdizimini hiçbir ek fırfır olmadan korumaya yardımcı olur.
İkinci ve giderek yaygın olarak kullanılan bir sözdizimsel program dilimleme kullanımı, amorf program dilimleme olarak bilinir. Bu yaklaşımla amaç, dilimin mühendisin kodda saklamak istediği anlamsal kısıtlamaları korumaya yardımcı olan herhangi bir sözdizimsel işlevle çalışmaya devam etmesini mümkün kılmaktır.


