EvoSpex: A Search-based Tool for Postcondition Inference
Wed 19 Jul 2023 15:30 - 17:00 at Microsoft Atrium (Allen Center) - Tool Demonstrations Chair(s): Jonathan Bell, Luís Pina
Postconditions are predicates that specify the intended behavior of a program by capturing properties about the program state when the program finishes its execution. Although postconditions can help to improve many software reliability analyses, they are seldom found accompanying source code. Thus, tools that assist developers in specifying postconditions are relevant. This tool demo paper presents EvoSpex, a tool based on evolutionary computation that automatically infers postconditions of Java methods. Given a target Java method and a test suite for it, our tool executes the test suite to obtain valid pre/post state pairs for the method under analysis. Then, these pairs are mutated to obtain (allegedly) invalid ones, and finally a postcondition assertion characterizing the current method behavior is produced, by using an evolutionary algorithm that searches for an assertion that is satisfied by the valid pre/post state pairs and leaves out the invalid ones. EvoSpex implements a classic genetic algorithm that explores the space of candidate postconditions over a JML-like specification language. The algorithm is guided by a fitness function that aims at precisely capturing the valid state pairs, rejecting the invalid ones, and that also favors more succinct assertions.
Tue 18 JulDisplayed time zone: Pacific Time (US & Canada) change
13:30 - 15:00 | Tool Demo PresentationsTool Demonstrations at Habib Classroom (Gates G01) Chair(s): Jonathan Bell Northeastern University, Luís Pina University of Illinois at Chicago | ||
13:30 6mTalk | DDLDroid: A Static Analyzer for Automatically Detecting Data Loss Issues in Android Applications Tool Demonstrations Yuhao Zhou Nanjing University of Science and Technology, Wei Song Nanjing University of Science and Technology Link to publication DOI Media Attached | ||
13:36 6mTalk | EvoSpex: A Search-based Tool for Postcondition Inference Tool Demonstrations Facundo Molina IMDEA Software Institute, Pablo Ponzio Dept. of Computer Science FCEFQyN, University of Rio Cuarto, Nazareno Aguirre University of Rio Cuarto and CONICET, Argentina, Marcelo F. Frias Dept. of Software Engineering Instituto Tecnológico de Buenos Aires Media Attached | ||
13:42 6mTalk | ECSTATIC: Automatic Configuration-Aware Testing and Debugging of Static Analysis Tools Tool Demonstrations Austin Mordahl University of Texas at Dallas, Dakota Soles The University of Texas at Dallas, Miao Miao The University of Texas at Dallas, Zenong Zhang The University of Texas at Dallas, Shiyi Wei University of Texas at Dallas | ||
13:49 6mTalk | KeenTune: Automated Tuning Tool for Cloud Application Performance Testing and Optimization Tool Demonstrations Qinglong Wang Alibaba Group, Runzhe Wang Alibaba Group, Yuxi Hu Alibaba Group, Xiaohai Shi Alibaba Group, Zheng Liu Alibaba Group; Zhejiang University, Tao Ma Alibaba Group, Houbing Song University of Maryland, Baltimore County, Heyuan Shi Central South University | ||
13:55 6mTalk | EDHOC-Fuzzer: An EDHOC Protocol State Fuzzer Tool Demonstrations Konstantinos (Kostis) Sagonas Uppsala University and Nat. Tech. Univ. of Athens, Thanasis Typaldos National Technical University of Athens DOI Pre-print | ||
14:02 6mTalk | KDAlloc: The KLEE Deterministic Allocator Tool Demonstrations Daniel Schemmel Imperial College London, Julian Büning RWTH Aachen University, Frank Busse Imperial College London, Martin Nowack Imperial College London, Cristian Cadar Imperial College London | ||
14:08 6mTalk | RustSmith: Random Differential Compiler Testing for Rust Tool Demonstrations Mayank Sharma Imperial College London, Pingshi Yu Imperial College London, Alastair F. Donaldson Imperial College London | ||
14:15 6mTalk | SymRustC: A Hybrid Fuzzer for Rust Tool Demonstrations Frédéric Tuong Simon Fraser University, Mohammad Omidvar Tehrani Simon Fraser University, Marco Gaboardi Boston University, Steve Ko Simon Fraser University | ||
14:21 6mTalk | TreeLine and SlackLine: Grammar-Based Performance Fuzzing on Coffee Break Tool Demonstrations | ||
14:27 6mTalk | MetaData262: Automatic Test Suite Selection for Partial JavaScript Implementations Tool Demonstrations Frederico Ramos Instituto Superior Técnico, Diogo Costa Reis Instituto Superior Técnico, Miguel Trigo Instituto Superior Técnico, António Morgado INESC-ID, José Fragoso Santos INESC-ID/Instituto Superior Técnico, Portugal | ||
14:34 6mTalk | PExReport-Maven: Creating Pruned Executable Cross-Project Failure Reports in Maven Build System Tool Demonstrations Media Attached | ||
14:40 6mTalk | RobotBT: Behavior-Tree-Based Test-Case Specification for the Robot Framework Tool Demonstrations Sven Peldszus Ruhr University Bochum, Noubar Akopian Ruhr University Bochum, Thorsten Berger Ruhr University Bochum DOI Media Attached | ||
14:47 6mTalk | Behaviorally Typed State Machines in TypeScript for Heterogeneous Swarms Tool Demonstrations | ||
14:53 6mTalk | Oven: Safe and Live Communication Protocols in Scala, using Synthetic Behavioural Type Analysis Tool Demonstrations Francisco Ferreira Royal Holloway, University of London, Sung-Shik Jongmans Open University of the Netherlands; CWI |
Wed 19 JulDisplayed time zone: Pacific Time (US & Canada) change
15:30 - 17:00 | Tool DemonstrationsTool Demonstrations at Microsoft Atrium (Allen Center) Chair(s): Jonathan Bell Northeastern University, Luís Pina University of Illinois at Chicago | ||
15:30 90mTalk | KeenTune: Automated Tuning Tool for Cloud Application Performance Testing and Optimization Tool Demonstrations Qinglong Wang Alibaba Group, Runzhe Wang Alibaba Group, Yuxi Hu Alibaba Group, Xiaohai Shi Alibaba Group, Zheng Liu Alibaba Group; Zhejiang University, Tao Ma Alibaba Group, Houbing Song University of Maryland, Baltimore County, Heyuan Shi Central South University | ||
15:30 90mTalk | RustSmith: Random Differential Compiler Testing for Rust Tool Demonstrations Mayank Sharma Imperial College London, Pingshi Yu Imperial College London, Alastair F. Donaldson Imperial College London | ||
15:30 90mTalk | PExReport-Maven: Creating Pruned Executable Cross-Project Failure Reports in Maven Build System Tool Demonstrations Media Attached | ||
15:30 90mTalk | EDHOC-Fuzzer: An EDHOC Protocol State Fuzzer Tool Demonstrations Konstantinos (Kostis) Sagonas Uppsala University and Nat. Tech. Univ. of Athens, Thanasis Typaldos National Technical University of Athens DOI Pre-print | ||
15:30 90mTalk | KDAlloc: The KLEE Deterministic Allocator Tool Demonstrations Daniel Schemmel Imperial College London, Julian Büning RWTH Aachen University, Frank Busse Imperial College London, Martin Nowack Imperial College London, Cristian Cadar Imperial College London | ||
15:30 90mTalk | TreeLine and SlackLine: Grammar-Based Performance Fuzzing on Coffee Break Tool Demonstrations | ||
15:30 90mTalk | SymRustC: A Hybrid Fuzzer for Rust Tool Demonstrations Frédéric Tuong Simon Fraser University, Mohammad Omidvar Tehrani Simon Fraser University, Marco Gaboardi Boston University, Steve Ko Simon Fraser University | ||
15:30 90mTalk | ECSTATIC: Automatic Configuration-Aware Testing and Debugging of Static Analysis Tools Tool Demonstrations Austin Mordahl University of Texas at Dallas, Dakota Soles The University of Texas at Dallas, Miao Miao The University of Texas at Dallas, Zenong Zhang The University of Texas at Dallas, Shiyi Wei University of Texas at Dallas | ||
15:30 90mTalk | EvoSpex: A Search-based Tool for Postcondition Inference Tool Demonstrations Facundo Molina IMDEA Software Institute, Pablo Ponzio Dept. of Computer Science FCEFQyN, University of Rio Cuarto, Nazareno Aguirre University of Rio Cuarto and CONICET, Argentina, Marcelo F. Frias Dept. of Software Engineering Instituto Tecnológico de Buenos Aires Media Attached | ||
15:30 90mTalk | Behaviorally Typed State Machines in TypeScript for Heterogeneous Swarms Tool Demonstrations | ||
15:30 90mTalk | DDLDroid: A Static Analyzer for Automatically Detecting Data Loss Issues in Android Applications Tool Demonstrations Yuhao Zhou Nanjing University of Science and Technology, Wei Song Nanjing University of Science and Technology Link to publication DOI Media Attached | ||
15:30 90mTalk | Oven: Safe and Live Communication Protocols in Scala, using Synthetic Behavioural Type Analysis Tool Demonstrations Francisco Ferreira Royal Holloway, University of London, Sung-Shik Jongmans Open University of the Netherlands; CWI | ||
15:30 90mTalk | MetaData262: Automatic Test Suite Selection for Partial JavaScript Implementations Tool Demonstrations Frederico Ramos Instituto Superior Técnico, Diogo Costa Reis Instituto Superior Técnico, Miguel Trigo Instituto Superior Técnico, António Morgado INESC-ID, José Fragoso Santos INESC-ID/Instituto Superior Técnico, Portugal | ||
15:30 90mTalk | RobotBT: Behavior-Tree-Based Test-Case Specification for the Robot Framework Tool Demonstrations Sven Peldszus Ruhr University Bochum, Noubar Akopian Ruhr University Bochum, Thorsten Berger Ruhr University Bochum DOI Media Attached |