Abstrakt. I Promela definieras kommunikationsbuffertar med en fast längd, och buffertspill kan hanteras på två olika sätt: blockera meddelandet eller förlora meddelandet. Båda lösningarna förändrar semantiken i systemet, jämfört med en med obundna kanaler. Frågan uppstår om sådana buffertspill någonsin kan uppstå i ett givet system och vilka buffertlängder som är tillräckliga för att undvika dem. Vi beskriver ett skalbart ofullständigt gränstest för kommunikationsbuffertarna i Promela-modellerna, som bygger på över tillnärmning och statisk analys. Vi reducerar först Promela modeller till system för att kommunicera finita tillstånd maskiner (CFSMs) och sedan tillämpa ytterligare abstraktioner som lämnar oss med ett system av linjära ojämlikheter. Dessa representerar den meddelande- och mottagningseffekt som styrflödescyklerna för varje process har på varje meddelandebuffert. Testet försöker fastställa förekomsten av en linjär kombination av effektvektorerna så att minst ett meddelande kan uppstå ett obegränsat antal gånger. Om det inte finns någon sådan linjär kombination begränsas systemet. Vi diskuterar komplexiteten i detta test och presenterar experimentella resultat med hjälp av vår implementering i IBOC-systemet. Testets skalbarhet beror delvis på att det är polynom för den typ av glesa flödesdiagram som härleds från Promela-modeller. Dessutom är analysen lokal, dvs. det undviker kombinatoriska tillstånd rymdexplosion på grund av samstämmighet av modellerna. Vi presenterar också en metod för att härleda övre gräns uppskattningar för maximal beläggning av varje enskild meddelandebuffert. Tidigare har vi tillämpat detta tillvägagångssätt på UML RT-modeller, medan vi i detta dokument fokuserar på de ytterligare problem som är specifika för Promela-koden: att bestämma de potentiella meddelandetyperna för alla kanaler, att spåra potentiella innehåll av variabler, kanaler som skickas som argument till processer, kanaltilldelningar, kanalmatriser och parallell processskapande.
I REF presenterar författarna ett ofullständigt gränstest för kommunikationskanaler i modellerna Promela och UML RT.
A Scalable Incomplete Test for Message Buffer Overflow in Promela Models
{'venue': 'SPIN', 'journal': None, 'mag_field_of_study': ['Computer Science']}