Abstrakt. Detta dokument tar upp ett problem som ofta förbises i samhället för funktionell programmering: testning. Helautomatiska testverktyg som Quickcheck och Gningst kan testa första beställningsfunktioner med lyckat resultat. Högre ordning funktioner, HOFs, är en viktig och särskiljande del av funktionella språk. Att testa HOFs automatiskt är fortfarande besvärligt eftersom det kräver att funktioner skapas som testargument för att HOF ska testas. Även de funktioner som är resultatet av den högre orderfunktionen måste identifieras. Om ett motexempel hittas bör de genererade och resulterande funktionerna skrivas ut, men det är omöjligt i de flesta funktionella programmeringsspråk. Ändå, buggar i HOFs förekommer och är oftast mer subtila på grund av den höga abstraktionsnivån. I detta dokument presenterar vi en effektiv och effektiv teknik för att testa högre orderfunktioner genom att använda mellanliggande datatyper. En sådan datatyp härmar och styr strukturen på den funktion som ska genereras. En enkel tilläggsfunktion omvandlar denna datastruktur till den funktion som behövs. Vi använder ett fortsättningsbaserat parserbibliotek som huvudexempel på testerna. Vår automatiska testmetod för HOFs avslöjar fel i biblioteket som användes under ett par år utan problem.
REF förbättrade egenskapsbaserade tester för att lättare testa funktionen högre ordning genom att representera funktionernas AST som ett dataformat och generera instanser av denna datatyp med hjälp av egenskapsbaserat testverktyg.
Automatic Testing of Higher Order Functions
{'venue': 'APLAS', 'journal': None, 'mag_field_of_study': ['Computer Science']}