Publication | Closed Access
Symbolic optimization with SMT solvers
119
Citations
40
References
2014
Year
Unknown Venue
Mathematical ProgrammingLarge-scale Global OptimizationProgram CheckingEngineeringVerificationComputer-aided VerificationComputational ComplexitySoftware AnalysisFormal VerificationSat SolvingCombinatorial OptimizationSatisfiabilitySymbolic ManipulationAvailable Smt SolversContinuous OptimizationComputer ScienceSatisfiability Modulo TheoriesAutomated ReasoningProgram AnalysisSoftware TestingFormal MethodsSmt SolversSymbolic OptimizationSymbolic Execution
The rise in efficiency of Satisfiability Modulo Theories (SMT) solvers has created numerous uses for them in software verification, program synthesis, functional programming, refinement types, etc. In all of these applications, SMT solvers are used for generating satisfying assignments (e.g., a witness for a bug) or proving unsatisfiability/validity(e.g., proving that a subtyping relation holds). We are often interested in finding not just an arbitrary satisfying assignment, but one that optimizes (minimizes/maximizes) certain criteria. For example, we might be interested in detecting program executions that maximize energy usage (performance bugs), or synthesizing short programs that do not make expensive API calls. Unfortunately, none of the available SMT solvers offer such optimization capabilities.
| Year | Citations | |
|---|---|---|
Page 1
Page 1