Repository logo

Infoscience

  • English
  • French
Log In
Logo EPFL, École polytechnique fédérale de Lausanne

Infoscience

  • English
  • French
Log In
  1. Home
  2. Academic and Research Output
  3. EPFL thesis
  4. Automated Induction for Proving Program Equivalence
 
doctoral thesis

Automated Induction for Proving Program Equivalence

Milovancevic, Dragana  
2025

Formal verification has made great advances in recent decades, resulting in tools that can verify strong correctness properties of important pieces of software infrastructure. In this thesis, we study a particular instance of formal verification: equivalence checking, and its applications in program verification. We propose a fully automated approach to equivalence checking that takes as input candidate programs and reference programs and uses functional induction to automatically prove or disprove the correctness of each candidate program. We next extend our approach to support equivalence checking of underspecified programs, and propose a new application of equivalence checking for measure transfer in termination proving. We implement our approach on top of the Stainless verifier to support equivalence checking of Scala programs. To evaluate our approach, we assemble data sets comprising a total of around 5000 Scala programs, drawn from equivalence checking benchmarks and programming assignments. Our evaluation and a case study show that our system outperforms state-of-the-art tools and is applicable to automated grading in undergraduate programming courses.

  • Files
  • Details
  • Metrics
Type
doctoral thesis
DOI
10.5075/epfl-thesis-10552
Author(s)
Milovancevic, Dragana  

EPFL

Advisors
Kuncak, Viktor  orcid-logo
Jury

Prof. Thomas Emile Bourgeat (président) ; Prof. Viktor Kuncak (directeur de thèse) ; Prof. Martin Odersky, Prof. Sophia Drossopoulou, Prof. Ruzica Piskac (rapporteurs)

Date Issued

2025

Publisher

EPFL

Publisher place

Lausanne

Public defense year

2025-05-26

Thesis number

10552

Total of pages

139

Subjects

formal verification

•

equivalence checking

•

functional induction

•

functional programming

•

automated grading

•

termination checking

EPFL units
LARA  
Faculty
IC  
School
IIF  
Doctoral School
EDIC  
Available on Infoscience
May 14, 2025
Use this identifier to reference this record
https://infoscience.epfl.ch/handle/20.500.14299/250150
Logo EPFL, École polytechnique fédérale de Lausanne
  • Contact
  • infoscience@epfl.ch

  • Follow us on Facebook
  • Follow us on Instagram
  • Follow us on LinkedIn
  • Follow us on X
  • Follow us on Youtube
AccessibilityLegal noticePrivacy policyCookie settingsEnd User AgreementGet helpFeedback

Infoscience is a service managed and provided by the Library and IT Services of EPFL. © EPFL, tous droits réservés