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
Loading...
Thumbnail Image
Name

EPFL_TH10552.pdf

Type

Main Document

Version

Not Applicable (or Unknown)

Access type

openaccess

License Condition

N/A

Size

4.51 MB

Format

Adobe PDF

Checksum (MD5)

0e9d74b008eb8c7877a38c794c13a69a

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