Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Dragana Milovancevic

dblp:352/2303 · DBLP profile ↗
← Back
4ranked-venue papers
3as first author
4since 2021 · last 2025
0009-0003-0795-881XORCID · reported

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 4 · 3 first-author · 4 since 2021Theory of computation · 2 · 1 first-author · 2 since 2021

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
2 papers
Program verification · 67% Software testing · 33%
Theoretical computer science
1 paper
Logic in computer science · 100%
Interdisciplinary, comprehensive, and emerging computing
1 paper
Computing education · 100%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
Electronic design automation · 100%

Topics — the 5 heaviest of 6, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Software testing
automated grading
0.712023
Proving and Disproving Equivalence of Functional Programming Assignments · Proc. ACM Program. Lang. 2023
Program verification
equivalence checking
0.712023
Proving and Disproving Equivalence of Functional Programming Assignments · Proc. ACM Program. Lang. 2023
Logic in computer science › algebraic logic
boolean algebra
0.712023
Formula Normalizations in Verification · CAV (3) 2023
Computing education
automated assessment
0.212023
Proving and Disproving Equivalence of Functional Programming Assignments · Proc. ACM Program. Lang. 2023
Electronic design automation › hardware verification and test
hardware verification
0.212023
Formula Normalizations in Verification · CAV (3) 2023

Methods — techniques the papers use, named apart from their topics

word problem · 2.0normal form algorithm · 2.0functional induction · 1.3function call matching · 1.3clustering · 1.3
YearPublicationVenuePosition
2025 Formal Autograding in a Classroom
abstract
Abstract We report our experience in enhancing automated grading in an undergraduate programming course using formal verification. In our experiment, we deploy a program verifier to check the equivalence between student submissions and our reference solutions, alongside the existing testing-based grading infrastructure. We were able to use program equivalence to differentiate student submissions according to their high-level program structure, in particular their recursion pattern, even when their input-output behaviour is identical. Consequently, we achieve (1) higher confidence in correctness of idiomatic solutions but also (2) more thorough assessment of solution landscape that reveals solutions beyond those envisioned by instructors.
Dragana Milovancevic, Mario Bucev, Marcin Wojnarowski, Samuel Chassot, Viktor Kuncak
ESOP (2)1
2024 Proving Termination via Measure Transfer in Equivalence Checking
Dragana Milovancevic, Carsten Fuhs, Mario Bucev, Viktor Kuncak
IFM1
2023 Formula Normalizations in Verification
abstract
Abstract We apply and evaluate polynomial-time algorithms to compute two different normal forms of propositional formulas arising in verification. One of the normal form algorithms is presented for the first time. The algorithms compute normal forms and solve the word problem for two different subtheories of Boolean algebra: orthocomplemented bisemilattice (OCBSL) and ortholattice (OL). Equality of normal forms decides the word problem and is a sufficient (but not necessary) check for equivalence of propositional formulas. Our first contribution is a quadratic-time OL normal form algorithm, which induces a coarser equivalence than the OCBSL normal form and is thus a more precise approximation of propositional equivalence. The algorithm is efficient even when the input formula is represented as a directed acyclic graph. Our second contribution is the evaluation of OCBSL and OL normal forms as part of a verification condition cache of the Stainless verifier for Scala. The results show that both normalization algorithms substantially increase the cache hit ratio and improve the ability to prove verification conditions by simplification alone. To gain further insights, we also compare the algorithms on hardware circuit benchmarks, showing that normalization reduces circuit size and works well in the presence of sharing.
Simon Guilloud, Mario Bucev, Dragana Milovancevic, Viktor Kuncak
CAV (3)3
2023 Proving and Disproving Equivalence of Functional Programming Assignments
abstract
We present an automated approach to verify the correctness of programming assignments, such as the ones that arise in a functional programming course. Our approach takes as input student submissions and reference solutions, and uses equivalence checking to automatically prove or disprove correctness of each submission. To be effective in the context of a real-world programming course, an automated grading system must be both robust, to support programs written in a variety of style, and scalable, to treat hundreds of submissions at once. We achieve robustness by handling recursion using functional induction and by handling auxiliary functions using function call matching. We achieve scalability using a clustering algorithm that leverages the transitivity of equivalence to discover intermediate reference solutions among student submissions. We implement our approach on top of the Stainless verification system, to support equivalence checking of Scala programs. We evaluate our system and its components on over 4000 programs drawn from a functional programming course and from the program equivalence checking literature; this is the largest such evaluation to date. We show that our system is capable of proving program correctness by generating inductive equivalence proofs, and providing counterexamples for incorrect programs, with a high success rate.
Dragana Milovancevic, Viktor Kuncak
Proc. ACM Program. Lang.1