Vilnius University Open Series (May 2023)

TLA+ specifikacijų išskyrimas iš Elixir programos

  • Deividas Bražėnas,
  • Karolis Petrauskas

DOI
https://doi.org/10.15388/LMITT.2023.1

Abstract

Read online

Šiame tyrime yra nagrinėjamas metodas, padedantis užtikrinti Elixir programos atitikimą programinės įrangos inžinieriaus kurtai TLA+ specifikacijai. Kuriant metodą apibrėžtas vertimo taisyklių rinkinys, skirtas TLA+ specifikacijų išskyrimui iš nuosekliosios išskirstyto Elixir algoritmo dalies. Naudojant sudarytas taisykles, buvo įgyvendintas vertimo įrankis, Elixir kodą paverčiantis į TLA+ specifikaciją. Sugeneruotos specifikacijos teisingumas tikrinamas modelio tikrinimu ir tikslinimu, o teisingas vertimo įrankio veikimas užtikrinamas konvertuojant sugeneruotą specifikaciją atgal į Elixir kodą ir vykdant pirminės programos vienetų testus.