The document discusses various techniques for dealing with constraints that arise during symbolic execution. It outlines optimizations like constraint independence and solution caching to improve constraint solving performance. A heuristic approach called CORAL is presented that uses particle swarm optimization to solve constraints that stump exact solvers by iteratively improving infeasible solutions.
Staroletov Design by Contract, verification of Cyber-physical systemsSergey Staroletov
The document discusses various techniques for modern software testing and formal verification, including:
1. Design-by-contract using pre-conditions, post-conditions, and invariants as implemented in languages like Eiffel and tools like Microsoft Code Contracts for .NET programs.
2. Deductive verification of C code using the Frama-C tool based on annotations and the weakest precondition approach.
3. Verification of cyber-physical systems modeled as hybrid automata using techniques like the KeYmaera theorem prover based on hybrid logic.
This document provides information about a GATE CS test from 2001 and discusses joining an All India Mock GATE classroom test series conducted by GATE Forum. It includes sample questions from Section A of the 2001 GATE CS test paper with one-mark multiple choice sub-questions on topics like matrices, logic, automata theory, algorithms, databases and operating systems.
SymNet is a tool that uses symbolic execution to analyze network behavior and check properties like reachability and loop detection. It models networks as programs and network elements as program blocks. SymNet analyzes how header fields change as packets traverse the network by symbolically executing the network program. This allows SymNet to scalably reason about network connectivity in the presence of middleboxes, without considering global state. Future work aims to extend SymNet's analysis capabilities.
This paper proposes an approach to bounded model checking using classical symbolic execution. It encodes a program and property to check as a formula that can be checked by an SMT solver. This formula representation allows for parallelization by splitting it into independent subformulas. An evaluation shows the proposed technique, implemented in a tool called JCBMC, outperforms other bounded model checkers on examples. Future work includes automatically tuning the technique's parameters.
The document discusses constraint-based problem solving, including modeling problems as constraints on acceptable solutions, defining variables and domains, and defining constraints; solving models by defining search spaces and algorithms like backtracking search and stochastic search; and verifying and analyzing solutions. It also provides examples of constraint satisfaction problems and how they can be modeled and solved using different constraint languages and representations.
The document discusses linear programming (LP) and the simplex method for solving LP problems. It provides the following key points:
- LP is simpler than nonlinear programming and many problems can be formulated as LP problems.
- The simplex method provides an efficient systematic approach to solve LP problems by moving between extreme points in finite steps.
- The simplex method works by starting at an initial basic feasible solution and iteratively moving to adjacent extreme points to optimize the objective function, until an optimal solution is found.
- George Dantzig developed the simplex method in 1947 to solve military planning problems, establishing it as the most commonly used algorithm for solving LP problems.
This document summarizes a paper about a projection-free first-order optimization method for convex problems. The method generalizes Frank-Wolfe optimization to arbitrary convex domains by solving a linearized problem at each iteration instead of a projection step. The method guarantees an epsilon duality gap within O(1/epsilon) iterations. It provides sparse or low-rank solutions to 1-norm and nuclear norm regularized problems, with sparsity or rank bounds of O(1/epsilon). Applications include support vector machines, compressed sensing, and matrix completion.
Staroletov Design by Contract, verification of Cyber-physical systemsSergey Staroletov
The document discusses various techniques for modern software testing and formal verification, including:
1. Design-by-contract using pre-conditions, post-conditions, and invariants as implemented in languages like Eiffel and tools like Microsoft Code Contracts for .NET programs.
2. Deductive verification of C code using the Frama-C tool based on annotations and the weakest precondition approach.
3. Verification of cyber-physical systems modeled as hybrid automata using techniques like the KeYmaera theorem prover based on hybrid logic.
This document provides information about a GATE CS test from 2001 and discusses joining an All India Mock GATE classroom test series conducted by GATE Forum. It includes sample questions from Section A of the 2001 GATE CS test paper with one-mark multiple choice sub-questions on topics like matrices, logic, automata theory, algorithms, databases and operating systems.
SymNet is a tool that uses symbolic execution to analyze network behavior and check properties like reachability and loop detection. It models networks as programs and network elements as program blocks. SymNet analyzes how header fields change as packets traverse the network by symbolically executing the network program. This allows SymNet to scalably reason about network connectivity in the presence of middleboxes, without considering global state. Future work aims to extend SymNet's analysis capabilities.
This paper proposes an approach to bounded model checking using classical symbolic execution. It encodes a program and property to check as a formula that can be checked by an SMT solver. This formula representation allows for parallelization by splitting it into independent subformulas. An evaluation shows the proposed technique, implemented in a tool called JCBMC, outperforms other bounded model checkers on examples. Future work includes automatically tuning the technique's parameters.
The document discusses constraint-based problem solving, including modeling problems as constraints on acceptable solutions, defining variables and domains, and defining constraints; solving models by defining search spaces and algorithms like backtracking search and stochastic search; and verifying and analyzing solutions. It also provides examples of constraint satisfaction problems and how they can be modeled and solved using different constraint languages and representations.
The document discusses linear programming (LP) and the simplex method for solving LP problems. It provides the following key points:
- LP is simpler than nonlinear programming and many problems can be formulated as LP problems.
- The simplex method provides an efficient systematic approach to solve LP problems by moving between extreme points in finite steps.
- The simplex method works by starting at an initial basic feasible solution and iteratively moving to adjacent extreme points to optimize the objective function, until an optimal solution is found.
- George Dantzig developed the simplex method in 1947 to solve military planning problems, establishing it as the most commonly used algorithm for solving LP problems.
This document summarizes a paper about a projection-free first-order optimization method for convex problems. The method generalizes Frank-Wolfe optimization to arbitrary convex domains by solving a linearized problem at each iteration instead of a projection step. The method guarantees an epsilon duality gap within O(1/epsilon) iterations. It provides sparse or low-rank solutions to 1-norm and nuclear norm regularized problems, with sparsity or rank bounds of O(1/epsilon). Applications include support vector machines, compressed sensing, and matrix completion.
P, NP, NP-Complete, and NP-Hard
Reductionism in Algorithms
NP-Completeness and Cooks Theorem
NP-Complete and NP-Hard Problems
Travelling Salesman Problem (TSP)
Travelling Salesman Problem (TSP) - Approximation Algorithms
PRIMES is in P - (A hope for NP problems in P)
Millennium Problems
Conclusions
The document provides an overview and outline of the course "Optimization for Machine Learning". Key points:
- The course covers topics like convexity, gradient methods, constrained optimization, proximal algorithms, stochastic gradient descent, and more.
- Mathematical modeling and computational optimization for machine learning are discussed. Optimization algorithms like gradient descent and stochastic gradient descent are important for learning model parameters.
- Convex optimization problems have desirable properties like every local minimum being a global minimum. Gradient descent and related algorithms are guaranteed to converge for convex problems.
- Convex sets and functions are introduced, including characterizations using epigraphs and subgradients. Convex functions have useful properties like continuity and satisfying Jensen's inequality.
Présentation d'un mémoire à la Louvain School of ManagementJean Vanderdonckt
This presentation contains the slides of the course entitled "Présentation d'un mémoire LSM" done on April 28th, 2014. The record of this course is available at https://www.youtube.com/watch?v=rsNTU4KPyOE
This document provides an overview of constraint programming concepts including constraint satisfaction problems, modeling problems as CSPs, constraint solving methods like propagation and search, and popular solvers and libraries. It discusses key CP concepts like declarative modeling, built-in constraints and variables, and the three step process of modeling, solving, and searching. Popular languages for CP include C++, Prolog, Java. Areas for future work include applying functional programming, distributed computing, and hybridizing with evolutionary algorithms.
This document summarizes a lecture on rate-distortion optimization in video coding. It discusses various rate-distortion optimization problems including operational rate-distortion theory, joint source-channel coding optimization, storage constraint allocation, delay-constrained allocation, buffer-constrained allocation, and the multi-user problem. It also covers convex optimization techniques like the Lagrangian method that can help solve some of these optimization problems.
Lecture 1 from https://irdta.eu/deeplearn/2022su/
Covers concepts from Part 1 of my new book, https://meyn.ece.ufl.edu/2021/08/01/control-systems-and-reinforcement-learning/
This document discusses algorithmic research problems and different types of algorithms used to solve them. It begins by defining an algorithm and providing examples of common algorithm types like search, sorting, shortest path, and more. It then covers different types of algorithmic problems like polynomial problems, which can be solved in polynomial time by polynomial algorithms, and NP-hard or combinatorial problems, which typically require exponential algorithms. Several examples are given of problems that fall into each category. The document also discusses how problem complexity is analyzed and how it relates to the algorithm types.
This document provides an overview of optimization techniques. It begins with an introduction to optimization and examples of optimization problems. It then discusses the historical development of optimization methods. The document categorizes optimization problems into convex, concave, and subclasses like linear programming, quadratic programming, and semidefinite programming. It also covers advanced optimization methods like interior point methods. Finally, the document discusses applications of convex optimization techniques in fields such as engineering, finance, and wireless communications.
This document outlines a study on optimizing link congestion in networks using combined IS-IS and MPLS-TE protocols. It discusses:
1) The problem of suboptimal traffic distribution leading to poor network performance and lack of survivability under failures.
2) A linear programming model that finds optimal path configurations to minimize maximum link utilization and guarantees 100% network survivability.
3) Experimental evaluation of the optimization model on network examples and results.
This document discusses linear programming techniques. It provides an overview of linear programming concepts like objectives, decision variables, constraints, and parameters in linear programming models. It also covers graphical linear programming including setting up and solving an example problem. The assumptions of linear programming like linearity and nonnegativity are outlined. Methods for solving linear programs are introduced, including the graphical method and Simplex method. Sensitivity analysis concepts like range of optimality and shadow prices are also defined.
The document summarizes models and tools for portfolio planning, including:
1) It discusses key modelling issues like cardinality constraints, discrete decision variables, and trade scheduling algorithms.
2) It provides computational results for various portfolio models solved using different solvers, showing performance metrics like iterations and time.
3) It outlines different portfolio models like mean-variance, factor models, and index trackers that are commonly used in practice.
Keynote in KLEE workshop on Symbolic Execution 2018
Systematic greybox fuzzing inspired by ideas from symbolic execution, work at NUS
Covers new usage of symbolic execution in automated program repair, work at NUS
This document describes a multi-level reduced order modeling approach with robust error bounds. It discusses applying dimensionality reduction algorithms to extract active subspaces from reduced complexity models, then equipping the reduced model with an error bound. It presents a case study applying this approach to a 7x7 nuclear fuel assembly benchmark model, extracting active subspaces from individual fuel pin cell models to build a reduced order model in a more computationally efficient way.
This document discusses nonlinear programming (NLP) problems. NLP problems involve objective functions and/or constraints that contain nonlinear terms, making them more difficult to solve than linear programs. While exact solutions cannot always be found, algorithms can typically find approximate solutions within an acceptable error range of the optimum. However, for some NLP problems there is no reliable way to find the global maximum, as algorithms may stop at a local maximum instead. The document describes different types of NLP problems and techniques for solving them, including using Excel Solver with multiple starting values to attempt finding the global rather than just local optima.
This document describes a multi-level reduced order modeling approach with robust error bounds. It discusses applying dimensionality reduction algorithms to extract active subspaces from reduced complexity models, then equipping the reduced model with an error bound. A case study applies this approach to a nuclear reactor assembly model by extracting active subspaces from individual pin cell models to build a reduced order model in a more computationally efficient way than using the full assembly model.
Derivative Free Optimization and Robust OptimizationSSA KPI
The document summarizes presentations on nonsmooth optimization, robust optimization, and derivative-free optimization given at the 4th International Summer School in Kiev, Ukraine. Gerhard Weber and Basak Akteke-Ozturk presented on nonsmooth optimization and its applications in clustering problems. Robust optimization approaches were discussed for problems with uncertain parameters. Methods for minimizing functions without computing derivatives, known as derivative-free optimization, were also covered. Examples included trust-region algorithms and using models based on interpolation. Semidefinite programming relaxations for support vector clustering were mentioned.
Inverted Index Based Multi-Keyword Public-key Searchable Encryption with Stro...Mateus S. H. Cruz
This document summarizes a research paper that proposes an encrypted search scheme using an inverted index to allow for multi-keyword queries on encrypted data. The key contributions are: (1) supporting the reuse of the same encrypted index for multiple queries while preserving query privacy, (2) enabling conjunctive multi-keyword searches, and (3) providing efficiency by only using multiplication and exponentiation operations. The proposed scheme uses an encrypted inverted index along with trapdoor generation and private set intersection techniques to enable accurate yet private searches on outsourced encrypted data.
How to Add Chatter in the odoo 17 ERP ModuleCeline George
In Odoo, the chatter is like a chat tool that helps you work together on records. You can leave notes and track things, making it easier to talk with your team and partners. Inside chatter, all communication history, activity, and changes will be displayed.
Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...Diana Rendina
Librarians are leading the way in creating future-ready citizens – now we need to update our spaces to match. In this session, attendees will get inspiration for transforming their library spaces. You’ll learn how to survey students and patrons, create a focus group, and use design thinking to brainstorm ideas for your space. We’ll discuss budget friendly ways to change your space as well as how to find funding. No matter where you’re at, you’ll find ideas for reimagining your space in this session.
More Related Content
Similar to Dealing with complex constraints in symbolic execution
P, NP, NP-Complete, and NP-Hard
Reductionism in Algorithms
NP-Completeness and Cooks Theorem
NP-Complete and NP-Hard Problems
Travelling Salesman Problem (TSP)
Travelling Salesman Problem (TSP) - Approximation Algorithms
PRIMES is in P - (A hope for NP problems in P)
Millennium Problems
Conclusions
The document provides an overview and outline of the course "Optimization for Machine Learning". Key points:
- The course covers topics like convexity, gradient methods, constrained optimization, proximal algorithms, stochastic gradient descent, and more.
- Mathematical modeling and computational optimization for machine learning are discussed. Optimization algorithms like gradient descent and stochastic gradient descent are important for learning model parameters.
- Convex optimization problems have desirable properties like every local minimum being a global minimum. Gradient descent and related algorithms are guaranteed to converge for convex problems.
- Convex sets and functions are introduced, including characterizations using epigraphs and subgradients. Convex functions have useful properties like continuity and satisfying Jensen's inequality.
Présentation d'un mémoire à la Louvain School of ManagementJean Vanderdonckt
This presentation contains the slides of the course entitled "Présentation d'un mémoire LSM" done on April 28th, 2014. The record of this course is available at https://www.youtube.com/watch?v=rsNTU4KPyOE
This document provides an overview of constraint programming concepts including constraint satisfaction problems, modeling problems as CSPs, constraint solving methods like propagation and search, and popular solvers and libraries. It discusses key CP concepts like declarative modeling, built-in constraints and variables, and the three step process of modeling, solving, and searching. Popular languages for CP include C++, Prolog, Java. Areas for future work include applying functional programming, distributed computing, and hybridizing with evolutionary algorithms.
This document summarizes a lecture on rate-distortion optimization in video coding. It discusses various rate-distortion optimization problems including operational rate-distortion theory, joint source-channel coding optimization, storage constraint allocation, delay-constrained allocation, buffer-constrained allocation, and the multi-user problem. It also covers convex optimization techniques like the Lagrangian method that can help solve some of these optimization problems.
Lecture 1 from https://irdta.eu/deeplearn/2022su/
Covers concepts from Part 1 of my new book, https://meyn.ece.ufl.edu/2021/08/01/control-systems-and-reinforcement-learning/
This document discusses algorithmic research problems and different types of algorithms used to solve them. It begins by defining an algorithm and providing examples of common algorithm types like search, sorting, shortest path, and more. It then covers different types of algorithmic problems like polynomial problems, which can be solved in polynomial time by polynomial algorithms, and NP-hard or combinatorial problems, which typically require exponential algorithms. Several examples are given of problems that fall into each category. The document also discusses how problem complexity is analyzed and how it relates to the algorithm types.
This document provides an overview of optimization techniques. It begins with an introduction to optimization and examples of optimization problems. It then discusses the historical development of optimization methods. The document categorizes optimization problems into convex, concave, and subclasses like linear programming, quadratic programming, and semidefinite programming. It also covers advanced optimization methods like interior point methods. Finally, the document discusses applications of convex optimization techniques in fields such as engineering, finance, and wireless communications.
This document outlines a study on optimizing link congestion in networks using combined IS-IS and MPLS-TE protocols. It discusses:
1) The problem of suboptimal traffic distribution leading to poor network performance and lack of survivability under failures.
2) A linear programming model that finds optimal path configurations to minimize maximum link utilization and guarantees 100% network survivability.
3) Experimental evaluation of the optimization model on network examples and results.
This document discusses linear programming techniques. It provides an overview of linear programming concepts like objectives, decision variables, constraints, and parameters in linear programming models. It also covers graphical linear programming including setting up and solving an example problem. The assumptions of linear programming like linearity and nonnegativity are outlined. Methods for solving linear programs are introduced, including the graphical method and Simplex method. Sensitivity analysis concepts like range of optimality and shadow prices are also defined.
The document summarizes models and tools for portfolio planning, including:
1) It discusses key modelling issues like cardinality constraints, discrete decision variables, and trade scheduling algorithms.
2) It provides computational results for various portfolio models solved using different solvers, showing performance metrics like iterations and time.
3) It outlines different portfolio models like mean-variance, factor models, and index trackers that are commonly used in practice.
Keynote in KLEE workshop on Symbolic Execution 2018
Systematic greybox fuzzing inspired by ideas from symbolic execution, work at NUS
Covers new usage of symbolic execution in automated program repair, work at NUS
This document describes a multi-level reduced order modeling approach with robust error bounds. It discusses applying dimensionality reduction algorithms to extract active subspaces from reduced complexity models, then equipping the reduced model with an error bound. It presents a case study applying this approach to a 7x7 nuclear fuel assembly benchmark model, extracting active subspaces from individual fuel pin cell models to build a reduced order model in a more computationally efficient way.
This document discusses nonlinear programming (NLP) problems. NLP problems involve objective functions and/or constraints that contain nonlinear terms, making them more difficult to solve than linear programs. While exact solutions cannot always be found, algorithms can typically find approximate solutions within an acceptable error range of the optimum. However, for some NLP problems there is no reliable way to find the global maximum, as algorithms may stop at a local maximum instead. The document describes different types of NLP problems and techniques for solving them, including using Excel Solver with multiple starting values to attempt finding the global rather than just local optima.
This document describes a multi-level reduced order modeling approach with robust error bounds. It discusses applying dimensionality reduction algorithms to extract active subspaces from reduced complexity models, then equipping the reduced model with an error bound. A case study applies this approach to a nuclear reactor assembly model by extracting active subspaces from individual pin cell models to build a reduced order model in a more computationally efficient way than using the full assembly model.
Derivative Free Optimization and Robust OptimizationSSA KPI
The document summarizes presentations on nonsmooth optimization, robust optimization, and derivative-free optimization given at the 4th International Summer School in Kiev, Ukraine. Gerhard Weber and Basak Akteke-Ozturk presented on nonsmooth optimization and its applications in clustering problems. Robust optimization approaches were discussed for problems with uncertain parameters. Methods for minimizing functions without computing derivatives, known as derivative-free optimization, were also covered. Examples included trust-region algorithms and using models based on interpolation. Semidefinite programming relaxations for support vector clustering were mentioned.
Inverted Index Based Multi-Keyword Public-key Searchable Encryption with Stro...Mateus S. H. Cruz
This document summarizes a research paper that proposes an encrypted search scheme using an inverted index to allow for multi-keyword queries on encrypted data. The key contributions are: (1) supporting the reuse of the same encrypted index for multiple queries while preserving query privacy, (2) enabling conjunctive multi-keyword searches, and (3) providing efficiency by only using multiplication and exponentiation operations. The proposed scheme uses an encrypted inverted index along with trapdoor generation and private set intersection techniques to enable accurate yet private searches on outsourced encrypted data.
Similar to Dealing with complex constraints in symbolic execution (20)
How to Add Chatter in the odoo 17 ERP ModuleCeline George
In Odoo, the chatter is like a chat tool that helps you work together on records. You can leave notes and track things, making it easier to talk with your team and partners. Inside chatter, all communication history, activity, and changes will be displayed.
Reimagining Your Library Space: How to Increase the Vibes in Your Library No ...Diana Rendina
Librarians are leading the way in creating future-ready citizens – now we need to update our spaces to match. In this session, attendees will get inspiration for transforming their library spaces. You’ll learn how to survey students and patrons, create a focus group, and use design thinking to brainstorm ideas for your space. We’ll discuss budget friendly ways to change your space as well as how to find funding. No matter where you’re at, you’ll find ideas for reimagining your space in this session.
ISO/IEC 27001, ISO/IEC 42001, and GDPR: Best Practices for Implementation and...PECB
Denis is a dynamic and results-driven Chief Information Officer (CIO) with a distinguished career spanning information systems analysis and technical project management. With a proven track record of spearheading the design and delivery of cutting-edge Information Management solutions, he has consistently elevated business operations, streamlined reporting functions, and maximized process efficiency.
Certified as an ISO/IEC 27001: Information Security Management Systems (ISMS) Lead Implementer, Data Protection Officer, and Cyber Risks Analyst, Denis brings a heightened focus on data security, privacy, and cyber resilience to every endeavor.
His expertise extends across a diverse spectrum of reporting, database, and web development applications, underpinned by an exceptional grasp of data storage and virtualization technologies. His proficiency in application testing, database administration, and data cleansing ensures seamless execution of complex projects.
What sets Denis apart is his comprehensive understanding of Business and Systems Analysis technologies, honed through involvement in all phases of the Software Development Lifecycle (SDLC). From meticulous requirements gathering to precise analysis, innovative design, rigorous development, thorough testing, and successful implementation, he has consistently delivered exceptional results.
Throughout his career, he has taken on multifaceted roles, from leading technical project management teams to owning solutions that drive operational excellence. His conscientious and proactive approach is unwavering, whether he is working independently or collaboratively within a team. His ability to connect with colleagues on a personal level underscores his commitment to fostering a harmonious and productive workplace environment.
Date: May 29, 2024
Tags: Information Security, ISO/IEC 27001, ISO/IEC 42001, Artificial Intelligence, GDPR
-------------------------------------------------------------------------------
Find out more about ISO training and certification services
Training: ISO/IEC 27001 Information Security Management System - EN | PECB
ISO/IEC 42001 Artificial Intelligence Management System - EN | PECB
General Data Protection Regulation (GDPR) - Training Courses - EN | PECB
Webinars: https://pecb.com/webinars
Article: https://pecb.com/article
-------------------------------------------------------------------------------
For more information about PECB:
Website: https://pecb.com/
LinkedIn: https://www.linkedin.com/company/pecb/
Facebook: https://www.facebook.com/PECBInternational/
Slideshare: http://www.slideshare.net/PECBCERTIFICATION
বাংলাদেশের অর্থনৈতিক সমীক্ষা ২০২৪ [Bangladesh Economic Review 2024 Bangla.pdf] কম্পিউটার , ট্যাব ও স্মার্ট ফোন ভার্সন সহ সম্পূর্ণ বাংলা ই-বুক বা pdf বই " সুচিপত্র ...বুকমার্ক মেনু 🔖 ও হাইপার লিংক মেনু 📝👆 যুক্ত ..
আমাদের সবার জন্য খুব খুব গুরুত্বপূর্ণ একটি বই ..বিসিএস, ব্যাংক, ইউনিভার্সিটি ভর্তি ও যে কোন প্রতিযোগিতা মূলক পরীক্ষার জন্য এর খুব ইম্পরট্যান্ট একটি বিষয় ...তাছাড়া বাংলাদেশের সাম্প্রতিক যে কোন ডাটা বা তথ্য এই বইতে পাবেন ...
তাই একজন নাগরিক হিসাবে এই তথ্য গুলো আপনার জানা প্রয়োজন ...।
বিসিএস ও ব্যাংক এর লিখিত পরীক্ষা ...+এছাড়া মাধ্যমিক ও উচ্চমাধ্যমিকের স্টুডেন্টদের জন্য অনেক কাজে আসবে ...
How to Setup Warehouse & Location in Odoo 17 InventoryCeline George
In this slide, we'll explore how to set up warehouses and locations in Odoo 17 Inventory. This will help us manage our stock effectively, track inventory levels, and streamline warehouse operations.
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Dr. Vinod Kumar Kanvaria
Exploiting Artificial Intelligence for Empowering Researchers and Faculty,
International FDP on Fundamentals of Research in Social Sciences
at Integral University, Lucknow, 06.06.2024
By Dr. Vinod Kumar Kanvaria
This slide is special for master students (MIBS & MIFB) in UUM. Also useful for readers who are interested in the topic of contemporary Islamic banking.
A workshop hosted by the South African Journal of Science aimed at postgraduate students and early career researchers with little or no experience in writing and publishing journal articles.
हिंदी वर्णमाला पीपीटी, hindi alphabet PPT presentation, hindi varnamala PPT, Hindi Varnamala pdf, हिंदी स्वर, हिंदी व्यंजन, sikhiye hindi varnmala, dr. mulla adam ali, hindi language and literature, hindi alphabet with drawing, hindi alphabet pdf, hindi varnamala for childrens, hindi language, hindi varnamala practice for kids, https://www.drmullaadamali.com
Walmart Business+ and Spark Good for Nonprofits.pdfTechSoup
"Learn about all the ways Walmart supports nonprofit organizations.
You will hear from Liz Willett, the Head of Nonprofits, and hear about what Walmart is doing to help nonprofits, including Walmart Business and Spark Good. Walmart Business+ is a new offer for nonprofits that offers discounts and also streamlines nonprofits order and expense tracking, saving time and money.
The webinar may also give some examples on how nonprofits can best leverage Walmart Business+.
The event will cover the following::
Walmart Business + (https://business.walmart.com/plus) is a new shopping experience for nonprofits, schools, and local business customers that connects an exclusive online shopping experience to stores. Benefits include free delivery and shipping, a 'Spend Analytics” feature, special discounts, deals and tax-exempt shopping.
Special TechSoup offer for a free 180 days membership, and up to $150 in discounts on eligible orders.
Spark Good (walmart.com/sparkgood) is a charitable platform that enables nonprofits to receive donations directly from customers and associates.
Answers about how you can do more with Walmart!"
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
Dealing with complex constraints in symbolic execution
1. Constraints in Symbolic Execution Optimisations Heuristic Approach Conclusion
Dealing with constraints in symbolic execution
Bernhard Mallinger
Programming Languages Seminar SS13
TU Wien
June 11th, 2013
Bernhard Mallinger Programming Languages Seminar SS13 TU Wien
Dealing with constraints in symbolic execution
2. Constraints in Symbolic Execution Optimisations Heuristic Approach Conclusion
Outline
1 Constraints in Symbolic Execution
2 Optimisations
Constraint independence
Solution caching
Incremental solving
3 Heuristic Approach
Motivation
CORAL
4 Conclusion
Bernhard Mallinger Programming Languages Seminar SS13 TU Wien
Dealing with constraints in symbolic execution
3. Constraints in Symbolic Execution Optimisations Heuristic Approach Conclusion
Outline
1 Constraints in Symbolic Execution
2 Optimisations
Constraint independence
Solution caching
Incremental solving
3 Heuristic Approach
Motivation
CORAL
4 Conclusion
Bernhard Mallinger Programming Languages Seminar SS13 TU Wien
Dealing with constraints in symbolic execution
4. Constraints in Symbolic Execution Optimisations Heuristic Approach Conclusion
Constraints in Symbolic Execution
Constraints on variables are collected by analysing code:
1 i f (preproc) {
2 i f (extensive_preproc) {
3 // extensive preprocessing
4 }
5 }
extensive preprocessing-block is reached iff
PC ∧ preproc ∧ extensive_preproc is satisfiable
⇒ Unreachability test
⇒ Test case generator
Bernhard Mallinger Programming Languages Seminar SS13 TU Wien
Dealing with constraints in symbolic execution
5. Constraints in Symbolic Execution Optimisations Heuristic Approach Conclusion
Solvers
Depending on code, different kinds solvers are efficient
Linear arithmetic
Complex functions
General, unstructured constraints
. . .
Tremendous speedup in recent years (SAT)
Especially continuous functions still not solvable
Constraint solving dominates runtime
Bernhard Mallinger Programming Languages Seminar SS13 TU Wien
Dealing with constraints in symbolic execution
6. Constraints in Symbolic Execution Optimisations Heuristic Approach Conclusion
Outline
1 Constraints in Symbolic Execution
2 Optimisations
Constraint independence
Solution caching
Incremental solving
3 Heuristic Approach
Motivation
CORAL
4 Conclusion
Bernhard Mallinger Programming Languages Seminar SS13 TU Wien
Dealing with constraints in symbolic execution
7. Constraints in Symbolic Execution Optimisations Heuristic Approach Conclusion
Constraint independence
Constraint independence
In the path condition, all constraints are combined
⇒ but not all related
Separate logically independent groups
1 i f (preproc) {
2 // do preproc
3 }
4 // algo
5 i f (postproc) {
6 // do postproc
7 }
PC ∧ preproc ∧ postproc
PC ∧ preproc ∧ ¬postproc
PC ∧ ¬preproc ∧ postproc
PC ∧ ¬preproc ∧ ¬postproc
Variables related if appear in same constraint
⇒ Reachability problem
Bernhard Mallinger Programming Languages Seminar SS13 TU Wien
Dealing with constraints in symbolic execution
8. Constraints in Symbolic Execution Optimisations Heuristic Approach Conclusion
Constraint independence
Constraint independence
In the path condition, all constraints are combined
⇒ but not all related
Separate logically independent groups
1 i f (preproc) {
2 // do preproc
3 }
4 // algo
5 i f (postproc) {
6 // do postproc
7 }
PC ∧ preproc ∧ postproc
PC ∧ preproc ∧ ¬postproc
PC ∧ ¬preproc ∧ postproc
PC ∧ ¬preproc ∧ ¬postproc
Variables related if appear in same constraint
⇒ Reachability problem
Bernhard Mallinger Programming Languages Seminar SS13 TU Wien
Dealing with constraints in symbolic execution
9. Constraints in Symbolic Execution Optimisations Heuristic Approach Conclusion
Constraint independence
Constraint independence
In the path condition, all constraints are combined
⇒ but not all related
Separate logically independent groups
1 i f (preproc) {
2 // do preproc
3 }
4 // algo
5 i f (postproc) {
6 // do postproc
7 }
PC ∧ preproc ∧ postproc
PC ∧ preproc ∧ ¬postproc
PC ∧ ¬preproc ∧ postproc
PC ∧ ¬preproc ∧ ¬postproc
Variables related if appear in same constraint
⇒ Reachability problem
Bernhard Mallinger Programming Languages Seminar SS13 TU Wien
Dealing with constraints in symbolic execution
10. Constraints in Symbolic Execution Optimisations Heuristic Approach Conclusion
Solution caching
Solution caching
Multiple queries contain same independent groups of
constraints ⇒ simply cache results
More elaborate: exploit repetitions in path conditions:
1 i f (preproc) {
2 i f (extensive_preproc) {
3 // do extensive preprocessing
4 }
5 }
PC ∧ preproc
PC ∧ preproc ∧ extensive_preproc
Bernhard Mallinger Programming Languages Seminar SS13 TU Wien
Dealing with constraints in symbolic execution
11. Constraints in Symbolic Execution Optimisations Heuristic Approach Conclusion
Solution caching
Solution caching
Constraint Solution
C1 = {preproc} S1 = {preproc → 1}
C2 = {preproc, ext_preproc} S2 = {preproc → 1,
ext_preproc → 1}
C3 = {preproc, ¬preproc} X
C4 = {preproc, ¬preproc, postproc } X
S2 is a solution to C1 due to C1 ⊆ C2
Since C3 is unsatisfiable, so is C4 as C3 ⊆ C4
S2 often is an extension of S1 since C1 ⊆ C2
Bernhard Mallinger Programming Languages Seminar SS13 TU Wien
Dealing with constraints in symbolic execution
12. Constraints in Symbolic Execution Optimisations Heuristic Approach Conclusion
Solution caching
Solution caching
Constraint Solution
C1 = {preproc} S1 = {preproc → 1}
C2 = {preproc, ext_preproc} S2 = {preproc → 1,
ext_preproc → 1}
C3 = {preproc, ¬preproc} X
C4 = {preproc, ¬preproc, postproc } X
S2 is a solution to C1 due to C1 ⊆ C2
Since C3 is unsatisfiable, so is C4 as C3 ⊆ C4
S2 often is an extension of S1 since C1 ⊆ C2
Bernhard Mallinger Programming Languages Seminar SS13 TU Wien
Dealing with constraints in symbolic execution
13. Constraints in Symbolic Execution Optimisations Heuristic Approach Conclusion
Solution caching
Solution caching
Constraint Solution
C1 = {preproc} S1 = {preproc → 1}
C2 = {preproc, ext_preproc} S2 = {preproc → 1,
ext_preproc → 1}
C3 = {preproc, ¬preproc} X
C4 = {preproc, ¬preproc, postproc } X
S2 is a solution to C1 due to C1 ⊆ C2
Since C3 is unsatisfiable, so is C4 as C3 ⊆ C4
S2 often is an extension of S1 since C1 ⊆ C2
Bernhard Mallinger Programming Languages Seminar SS13 TU Wien
Dealing with constraints in symbolic execution
14. Constraints in Symbolic Execution Optimisations Heuristic Approach Conclusion
Solution caching
Solution caching
Constraint Solution
C1 = {preproc} S1 = {preproc → 1}
C2 = {preproc, ext_preproc} S2 = {preproc → 1,
ext_preproc → 1}
C3 = {preproc, ¬preproc} X
C4 = {preproc, ¬preproc, postproc } X
S2 is a solution to C1 due to C1 ⊆ C2
Since C3 is unsatisfiable, so is C4 as C3 ⊆ C4
S2 often is an extension of S1 since C1 ⊆ C2
Bernhard Mallinger Programming Languages Seminar SS13 TU Wien
Dealing with constraints in symbolic execution
15. Constraints in Symbolic Execution Optimisations Heuristic Approach Conclusion
Incremental solving
Incremental solving
In queries generated in symbolic execution, often only the last
predicates differ
1 i f (postproc) {
2 i f (fancy_output) {
3 // print fancy statistics
4 }
5 }
PC ∧ postproc
PC ∧ postproc ∧ fancy_output
Determine set of variables which are dependent of variables in
last predicate, solve them and else reuse old solution
Bernhard Mallinger Programming Languages Seminar SS13 TU Wien
Dealing with constraints in symbolic execution
16. Constraints in Symbolic Execution Optimisations Heuristic Approach Conclusion
Incremental solving
Empirical results
Figure: Performance with and without the solution cache and constraint
independence optimisation in KLEE. Source: Cadar et al., 2008
Bernhard Mallinger Programming Languages Seminar SS13 TU Wien
Dealing with constraints in symbolic execution
17. Constraints in Symbolic Execution Optimisations Heuristic Approach Conclusion
Outline
1 Constraints in Symbolic Execution
2 Optimisations
Constraint independence
Solution caching
Incremental solving
3 Heuristic Approach
Motivation
CORAL
4 Conclusion
Bernhard Mallinger Programming Languages Seminar SS13 TU Wien
Dealing with constraints in symbolic execution
18. Constraints in Symbolic Execution Optimisations Heuristic Approach Conclusion
Motivation
Motivation
Still many unsolvable path conditions
Can’t search exhaustively, so guess smartly, improve guesses
Reasonable way of “thinking”?
Reinterpret decision problem as optimisation problem
Minimise violations
New precondition: Locality in solution space
Works for all domains, given locality
Bernhard Mallinger Programming Languages Seminar SS13 TU Wien
Dealing with constraints in symbolic execution
19. Constraints in Symbolic Execution Optimisations Heuristic Approach Conclusion
Motivation
Metaheuristics
Random initial solutions probably contain viable fragments
Optimise given invalid solutions by local search
Combine promising solutions
Steer towards regions of high objective value
Bernhard Mallinger Programming Languages Seminar SS13 TU Wien
Dealing with constraints in symbolic execution
20. Constraints in Symbolic Execution Optimisations Heuristic Approach Conclusion
CORAL
CORAL
xtan(y)
+ z < x ∗ arctan(z) ∧
sin(y) + cos(y) + tan(y) ≥ x − z ∧
arctan(x) + arctan(y) > y
Bernhard Mallinger Programming Languages Seminar SS13 TU Wien
Dealing with constraints in symbolic execution
21. Constraints in Symbolic Execution Optimisations Heuristic Approach Conclusion
CORAL
CORAL
Focus on floating point computation
Solves constraints by particle swarm optimisation (population
based metaheuristic)
Generates initial solutions randomly in range determined by
interval solver
“Solves all constraints that exact solvers manage and more”
Bernhard Mallinger Programming Languages Seminar SS13 TU Wien
Dealing with constraints in symbolic execution
22. Constraints in Symbolic Execution Optimisations Heuristic Approach Conclusion
CORAL
CORAL: Stepwise Adaptive Weighting
Solutions with even minimal constraint violations are still
infeasible
Avoiding local optima is critical
Stepwise Adaptive Weighting (SAW)
Change objective function dynamically during runtime
Reward solutions that satisfy hard-to-solve constraints
Bernhard Mallinger Programming Languages Seminar SS13 TU Wien
Dealing with constraints in symbolic execution
23. Constraints in Symbolic Execution Optimisations Heuristic Approach Conclusion
CORAL
CORAL: Stepwise Adaptive Weighting
Solutions with even minimal constraint violations are still
infeasible
Avoiding local optima is critical
Stepwise Adaptive Weighting (SAW)
Change objective function dynamically during runtime
Reward solutions that satisfy hard-to-solve constraints
Bernhard Mallinger Programming Languages Seminar SS13 TU Wien
Dealing with constraints in symbolic execution
24. Constraints in Symbolic Execution Optimisations Heuristic Approach Conclusion
Outline
1 Constraints in Symbolic Execution
2 Optimisations
Constraint independence
Solution caching
Incremental solving
3 Heuristic Approach
Motivation
CORAL
4 Conclusion
Bernhard Mallinger Programming Languages Seminar SS13 TU Wien
Dealing with constraints in symbolic execution
25. Constraints in Symbolic Execution Optimisations Heuristic Approach Conclusion
Conclusion
Constraint solving dominates runtime of symbolic execution
Unsolvable constraints severely hinder symbolic execution
Some optimisations:
Constraint independence
Solution caching
Incremental solving
Harder constraints can/have to be solved (meta-)heuristically
Navigate reasonably, not exhaustively through search space
Try to goal-orientedly optimise infeasible solutions
Deal with local optima (e.g. by SAW)
Bernhard Mallinger Programming Languages Seminar SS13 TU Wien
Dealing with constraints in symbolic execution