Demystifying the Challenges of Formally Specifying API Properties for Runtime Verification
Runtime Verification (RV) is a technique to monitor formally-specified properties of the software during its execution. RV has shown to be very effective for bug finding. Unfortunately, RV typically relies on formal specification languages and learning those languages be costly for developers. This paper reports on a study to assess the challenges to specify API properties for the purpose of RV. To that end, we wrote SIESTA, a minimalist specification language, extending Java with two features (the ability to catch calls to specified methods and the ability to access the event history of a given object), and asked inexperienced developers (students) to write specifications in that language for certain parts of the Java API. Among our findings, we observed that 40% of the specifications written by the students matched the ground truth perfectly. The main messages of this work are that 1) it is feasible to use a simple imperative language for specifying properties without significant loss of generality; and that 2) developers are capable of writing specifications in the (programming) language they feel comfortable.
Tue 13 AprDisplayed time zone: Brasilia, Distrito Federal, Brazil change
15:00 - 16:30 | Models, Testing and VerificationResearch Papers at Porto de Galinhas Chair(s): Mike Papadakis University of Luxembourg, Luxembourg | ||
15:00 30mPaper | Modeling with Mocking Research Papers Jouke Stoel CWI, Jurgen Vinju CWI, Netherlands, Tijs van der Storm CWI & University of Groningen, Netherlands Pre-print | ||
15:30 30mPaper | Uncertainty-aware Exploration in Model-based Testing Research Papers Matteo Camilli Free University of Bozen-Bolzano, Angelo Gargantini University of Bergamo, Patrizia Scandurra University of Bergamo, Italy, Catia Trubiani Gran Sasso Science Institute Pre-print | ||
16:00 30mPaper | Demystifying the Challenges of Formally Specifying API Properties for Runtime Verification Research Papers Leopoldo Teixeira Federal University of Pernambuco, Breno Miranda Federal University of Pernambuco, Henrique Rebelo Universidade Federal de Pernambuco, Marcelo d'Amorim Federal University of Pernambuco Pre-print |