Modulsystem möjliggör en uppdelning och erövra strategi för mjukvaruutveckling. För att implementera kompilerings-tidsvariabilitet i programvara produktlinjer, moduler kan komponeras i olika kombinationer. På detta sätt dikterar dock variabiliteten en dominerande nedbrytning. Som ett alternativ introducerar vi ett modulsystem med variabilitet som stöder kompileringstidsvariabilitet inom en modul och dess gränssnitt. Därför kan varje modul betraktas som en produktlinje som kan typkontrolleras isolerat. Variabilitet kan korsa flera moduler. Modulsystemet bryter med den antimodulära traditionen av en global variabilitetsmodell inom produktlinjeutveckling och ger en väg mot programvaruekosystem och produktlinjer för produktlinjer som utvecklats på ett öppet sätt. Vi diskuterar utformningen och genomförandet av ett sådant modulsystem på en kärnkalkyl och tillhandahåller en implementering för C som en del av TypeChef-projektet. Vår implementering stöder variabilitet inuti moduler från #ifdef preprocessor direktiv och variabel länkning på kompositionsnivå. Med vårt genomförande, vi skriver kontrollera alla konfigurationer av alla moduler i den öppna källkod produktlinjen Busybox med 811 kompileringstid alternativ, utföra länkning kontroll av alla konfigurationer, och rapportera hittade typ och länkfel - utan att tillgripa en brute-force strategi.
Kästner m.fl. föreslå ett modulsystem för variability-aware för att typkontrollera varje produktlinje separat REF.
A variability-aware module system
{'venue': "OOPSLA '12", 'journal': None, 'mag_field_of_study': ['Computer Science']}