110 likes | 213 Views
Integrating Testing and Analysis. Patrice Godefroid Leonardo Mariani Andrea Polini Nikolai Tillmann Willem Visser Mike Whalen. Development Cycle Problems. Analysis & Test are run too late in the development cycle Should actively assist development Hard to scale to entire programs
E N D
Integrating Testing and Analysis Patrice Godefroid Leonardo Mariani Andrea Polini Nikolai Tillmann Willem Visser Mike Whalen
Development Cycle Problems • Analysis & Test are run too late in the development cycle • Should actively assist development • Hard to scale to entire programs • Running static analysis on 5M SLOC • Difficult to be precise at that scale, leading to many false positives • Goal: find bugs as you make them • Provide immediate feedback to developers in the form of test cases • Use static analysis to generate “useful” tests
FITE: Future Integrated Test Environment Highly incremental (every time a developer modifies a “piece”of code) test and analysis • Pluggable analyses depending on context • Numerical (floating point) precision • Code Performance Use multicore to continually refine analysis computing cores analysis core
Research Problems • Compositional Symbolic Analysis • Preserve concrete and symbolic test cases from “leaf” methods to perform incremental analysis • Provide basis set for system classes • What about non-compositional things? E.g. concurrency • Analysis of Non-Functional Properties • Worst case performance of paths • Numeric precision of paths
Research Problems • Human Factors • Ranking function for test cases • Depending on whether “mocks” were necessary • “Heat map” of goodness • Allow user feedback • 0-5 star rankings • Tool learning algorithms no mocks necessary highly appreciated by developers identified with tool learning algorithms
Research Problems highly testable and analyzable messy code • Human Factors • Incremental analysis produces suggestions for programmers to improve design for • testability, static analyzability, model-checking,… high quality project avenue
Research Problems • Human Factors • Semi-automated assertion and comment generation • Based on exceptional tests defined via static analysis • E.g. non-null requirement for inputs I kindly generate this comment for you, it will be useful for your future life… If you do not add this assertion the life of your system will be in trouble!
New Collaborations • FITE Whitepaper • Compositional Symbolic Analysis for Immediate Developer Feedback
Paper Titles • FITE: Future Integrated Test Environment • Immediate Developer Feedback through Compositional Symbolic Analysis
Grant Proposal Title • Funding the FITE: Compositional Reasoning for Immediate Developer Gratification