Testning är en viktig verksamhet inom konstruktion av industriell inbäddad programvara. Inom vissa tillämpningsområden (t.ex. järnvägsindustrin) certifieras engineeringsprogram enligt säkerhetsnormer som kräver omfattande förfaranden för programvarutestning för utveckling av tillförlitliga system. Mutation analys är en teknik för att skapa felaktiga versioner av en programvara i syfte att undersöka feldetektion förmåga en test svit. Mutationsanalys har använts för att utvärdera befintliga testsviter, men också för att generera testsviter som detekterar injicerade fel (dvs. mutationstestning). För att stödja utvecklare i programvarutestning föreslår vi en teknik för att producera testfall med hjälp av en automatiserad testgenereringsmetod som fungerar med mutationstestning för programvara skriven på IEC 61131-3-språk, en programmeringsstandard för säkerhetskritisk inbäddad programvara, som vanligen används för programmerbara Logic Controllers (PLCs). Detta tillvägagångssätt använder Uppaal modellen checker och är baserad på en kombinerad modell som innehåller alla mutanter och det ursprungliga programmet. Vi tillämpade detta tillvägagångssätt i ett verktyg för att testa industriella PLC-program och utvärderade det i termer av kostnad och feldetektering. För realistisk validering samlade vi in industriella experimentella bevis på hur mutationstestning jämförs med manuell testning samt automatiserad beslutstäckning tillräcklig testgenerering. I utvärderingen använde vi manuellt utsådda fel från fyra industriingenjörer. Resultaten visar att även om mutationsbaserad testgenerering ger bättre feldetektering än automatisk beslutstäckningsbaserad testgenerering, är dessa mutationstillräckliga testsviter inte bättre på att upptäcka fel än manuella testsviter. De mutationsbaserade testsviterna är dock betydligt mindre kostsamma att skapa när det gäller testtid än de manuellt skapade testsviterna. Våra resultat tyder på att feldetekteringspoängen kan förbättras genom att överväga några nya och förbättrade mutationsoperatörer (t.ex. Feedback Loop Input Operator (FIO)) för PLC-program samt mutationer i högre ordning.
Dessutom, Enoiu et al. REF undersökte mutationsbaserad testgenerering för PLC-inbäddad programvara med hjälp av modellkontroll.
Mutation-Based Test Generation for PLC Embedded Software Using Model Checking
{'venue': 'ICTSS', 'journal': None, 'mag_field_of_study': ['Engineering', 'Computer Science']}