Förmågan att reversera modeller av programvarubeteende är värdefull för ett brett spektrum av programvaruunderhåll, validering och verifieringsuppgifter. Nuvarande teknik för omvänd teknik fokuserar antingen på kontrollspecifikt beteende (t.ex. i form av Finite State Machines) eller dataspecifikt beteende (t.ex. före/efter tillstånd eller invarianter). Typiskt programvarubeteende är dock vanligtvis en produkt av de två; modellerna måste kombinera båda aspekterna för att fullt ut representera programvarans funktion. Extended Finite State Machines (EFSM) tillhandahåller en sådan modell. Även om försök har gjorts att sluta sig till EFSM, har dessa varit problematiska. De modeller som härleds från dessa tekniker kan vara icke-deterministiska, inferensalgoritmerna kan vara oflexibla och endast tillämpliga på spår med specifika egenskaper. I detta dokument presenteras en ny EFSM-inferensteknik som tar upp problemen med oflexibilitet och icke-determinism. Den anpassar också en experimentell teknik från fältet Maskininlärning för att utvärdera EFSM inference tekniker, och tillämpar den på tre olika mjukvarusystem.
Ett annat forskningsområde är konstruktion av programvarumodeller REF.
Inferring extended finite state machine models from software executions
{'venue': 'Empirical Software Engineering', 'journal': 'Empirical Software Engineering', 'mag_field_of_study': ['Computer Science']}