•

0 likes•88 views

This document presents methods for computing information flow and quantifying information leakage in non-probabilistic programs using symbolic model checking. It discusses using binary decision diagrams (BDDs) and algebraic decision diagrams (ADDs) to represent program states and calculate fixed points. Algorithms are provided for symbolically computing min-entropy and Shannon entropy leakage by constructing ADDs representing the program summary and sets of possible outputs. The methods were implemented in a tool called Moped-QLeak and evaluated on example programs. Future work includes supporting recursive programs and using other symbolic verification approaches.

Report

Share

Report

Share

Download to read offline

A calculus of mobile Real-Time processes

This document presents the πRT-calculus, a calculus for modeling mobile real-time processes. It extends the π-calculus with a timeout operator to model real-time aspects. The document covers the syntax and semantics of the π-calculus and πRT-calculus. It also discusses design choices like having a global clock and discrete time. An example of a mobile video streaming system is used to illustrate the πRT-calculus. The document concludes by discussing future work, like developing timed bisimulation and extending to continuous time.

Safety Verification of Deep Neural Networks_.pdf

This document presents a framework for verifying the safety of classification decisions made by deep neural networks. It defines safety as the network producing the same output classification for an input and any perturbations of that input within a bounded region. The framework uses satisfiability modulo theories (SMT) to formally verify safety by attempting to find an adversarial perturbation that causes misclassification. It has been tested on several image classification networks and datasets. The framework provides a method to automatically verify safety properties of deep neural networks.

Time andspacecomplexity

This document discusses time and space complexity analysis of algorithms. It analyzes the time complexity of bubble sort, which is O(n^2) as each pass through the array requires n-1 comparisons and there are n passes needed. Space complexity is typically a secondary concern to time complexity. Time complexity analysis allows comparison of algorithms to determine efficiency and whether an algorithm will complete in a reasonable time for a given input size. NP-complete problems cannot be solved in polynomial time but can be verified in polynomial time.

Matlab Nn Intro

This document provides an introduction to MATLAB. It demonstrates basic MATLAB commands like plotting graphs and performing mathematical operations on matrices and vectors. It also introduces MATLAB as a programming language and shows examples of creating neural networks for pattern classification and function approximation problems. Neural networks are trained using the backpropagation algorithm and commands like newff, train, and sim.

Data Structure: Algorithm and analysis

This document discusses algorithms and analysis of algorithms. It covers key concepts like time complexity, space complexity, asymptotic notations, best case, worst case and average case time complexities. Examples are provided to illustrate linear, quadratic and logarithmic time complexities. Common sorting algorithms like quicksort, mergesort, heapsort, bubblesort and insertionsort are summarized along with their time and space complexities.

Analysis of Algorithm

The document discusses approximation algorithms and genetic algorithms for solving optimization problems like the traveling salesman problem (TSP) and vertex cover problem. It provides examples of approximation algorithms for these NP-hard problems, including algorithms that find near-optimal solutions within polynomial time. Genetic algorithms are also presented as an approach to solve TSP and other problems by encoding potential solutions and applying genetic operators like crossover and mutation.

Computational Complexity

This document discusses computational complexity and analyzing the running time of algorithms. It defines big-O notation, which is used to classify algorithms according to their worst-case performance as the problem size increases. Examples are provided of algorithms with running times that are O(1), O(log N), O(N), O(N log N), O(N^2), O(N^3), and O(2^N). The growth rates of these functions from slowest to fastest are also listed.

how to calclute time complexity of algortihm

This document discusses algorithm analysis and complexity. It defines key terms like asymptotic complexity, Big-O notation, and time complexity. It provides examples of analyzing simple algorithms like a sum function to determine their time complexity. Common analyses include looking at loops, nested loops, and sequences of statements. The goal is to classify algorithms according to their complexity, which is important for large inputs and machine-independent. Algorithms are classified based on worst, average, and best case analyses.

A calculus of mobile Real-Time processes

This document presents the πRT-calculus, a calculus for modeling mobile real-time processes. It extends the π-calculus with a timeout operator to model real-time aspects. The document covers the syntax and semantics of the π-calculus and πRT-calculus. It also discusses design choices like having a global clock and discrete time. An example of a mobile video streaming system is used to illustrate the πRT-calculus. The document concludes by discussing future work, like developing timed bisimulation and extending to continuous time.

Safety Verification of Deep Neural Networks_.pdf

This document presents a framework for verifying the safety of classification decisions made by deep neural networks. It defines safety as the network producing the same output classification for an input and any perturbations of that input within a bounded region. The framework uses satisfiability modulo theories (SMT) to formally verify safety by attempting to find an adversarial perturbation that causes misclassification. It has been tested on several image classification networks and datasets. The framework provides a method to automatically verify safety properties of deep neural networks.

Time andspacecomplexity

This document discusses time and space complexity analysis of algorithms. It analyzes the time complexity of bubble sort, which is O(n^2) as each pass through the array requires n-1 comparisons and there are n passes needed. Space complexity is typically a secondary concern to time complexity. Time complexity analysis allows comparison of algorithms to determine efficiency and whether an algorithm will complete in a reasonable time for a given input size. NP-complete problems cannot be solved in polynomial time but can be verified in polynomial time.

Matlab Nn Intro

This document provides an introduction to MATLAB. It demonstrates basic MATLAB commands like plotting graphs and performing mathematical operations on matrices and vectors. It also introduces MATLAB as a programming language and shows examples of creating neural networks for pattern classification and function approximation problems. Neural networks are trained using the backpropagation algorithm and commands like newff, train, and sim.

Data Structure: Algorithm and analysis

This document discusses algorithms and analysis of algorithms. It covers key concepts like time complexity, space complexity, asymptotic notations, best case, worst case and average case time complexities. Examples are provided to illustrate linear, quadratic and logarithmic time complexities. Common sorting algorithms like quicksort, mergesort, heapsort, bubblesort and insertionsort are summarized along with their time and space complexities.

Analysis of Algorithm

The document discusses approximation algorithms and genetic algorithms for solving optimization problems like the traveling salesman problem (TSP) and vertex cover problem. It provides examples of approximation algorithms for these NP-hard problems, including algorithms that find near-optimal solutions within polynomial time. Genetic algorithms are also presented as an approach to solve TSP and other problems by encoding potential solutions and applying genetic operators like crossover and mutation.

Computational Complexity

This document discusses computational complexity and analyzing the running time of algorithms. It defines big-O notation, which is used to classify algorithms according to their worst-case performance as the problem size increases. Examples are provided of algorithms with running times that are O(1), O(log N), O(N), O(N log N), O(N^2), O(N^3), and O(2^N). The growth rates of these functions from slowest to fastest are also listed.

how to calclute time complexity of algortihm

This document discusses algorithm analysis and complexity. It defines key terms like asymptotic complexity, Big-O notation, and time complexity. It provides examples of analyzing simple algorithms like a sum function to determine their time complexity. Common analyses include looking at loops, nested loops, and sequences of statements. The goal is to classify algorithms according to their complexity, which is important for large inputs and machine-independent. Algorithms are classified based on worst, average, and best case analyses.

TMPA-2017: Generating Cost Aware Covering Arrays For Free

TMPA-2017: Tools and Methods of Program Analysis
3-4 March, 2017, Hotel Holiday Inn Moscow Vinogradovo, Moscow
Generating Cost Aware Covering Arrays For Free
Mustafa Kemal Tas, Hanefi Mercan, Gülşen Demiröz, Kamer Kaya, Cemal Yilmaz, Sabanci University
For video follow the link: https://youtu.be/Wkdd4A0rRjE
Would like to know more?
Visit our website:
www.tmpaconf.org
www.exactprosystems.com/events/tmpa
Follow us:
https://www.linkedin.com/company/exactpro-systems-llc?trk=biz-companies-cym
https://twitter.com/exactpro

Algorithm And analysis Lecture 03& 04-time complexity.

This document discusses algorithm efficiency and complexity analysis. It defines key terms like algorithms, asymptotic complexity, Big O notation, and different complexity classes. It provides examples of analyzing time complexity for different algorithms like loops, nested loops, and recursive functions. The document explains that Big O notation allows analyzing algorithms independent of machine or input by focusing on the highest order term as the problem size increases. Overall, the document introduces methods for measuring an algorithm's efficiency and analyzing its time and space complexity asymptotically.

Complexity analysis in Algorithms

1) The document discusses complexity analysis of algorithms, which involves determining the time efficiency of algorithms by counting the number of basic operations performed based on input size.
2) It covers motivations for complexity analysis, machine independence, and analyzing best, average, and worst case complexities.
3) Simple rules are provided for determining the complexity of code structures like loops, nested loops, if/else statements, and switch cases based on the number of iterations and branching.

Algorithm.ppt

The document discusses divide and conquer algorithms and merge sort. It provides details on how merge sort works including: (1) Divide the input array into halves recursively until single element subarrays, (2) Sort the subarrays using merge sort recursively, (3) Merge the sorted subarrays back together. The overall running time of merge sort is analyzed to be θ(nlogn) as each level of recursion contributes θ(n) work and there are logn levels of recursion.

digital signal-processing-lab-manual

The document contains the laboratory manual for the digital signal processing lab of Jayalakshmi Institute of Technology. It lists the experiments to be conducted using MATLAB and TMS320C5416. The experiments using MATLAB include generation of discrete time signals, verification of sampling theorem, calculation of FFT and IFFT, analysis of LTI systems, convolution, and design of FIR and IIR filters. The experiments using TMS320C5416 include linear and circular convolution, calculation of FFT, generation of signals, and implementation of FIR and IIR filters. Detailed procedures and programs are provided for each experiment.

Complexity of Algorithm

This document discusses the complexity of algorithms and the tradeoff between algorithm cost and time. It defines algorithm complexity as a function of input size that measures the time and space used by an algorithm. Different complexity classes are described such as polynomial, sub-linear, and exponential time. Examples are given to find the complexity of bubble sort and linear search algorithms. The concept of space-time tradeoffs is introduced, where using more space can reduce computation time. Genetic algorithms are proposed to efficiently solve large-scale construction time-cost tradeoff problems.

Digital signal Processing all matlab code with Lab report

Digital signal processing(DSP) laboratory with matlab software....
Problem List :
1.To write a Matlab program to evaluate the impulse response of the system.
2.Computation of N point DFT of a given sequence and to plot magnitude and phase spectrum.
3.To Generate continuous time sinusoidal signal, discrete time cosine signal.
4.To find the DFT / IDFT of given signal.
5.Program for generation of Sine sequence.
6.Program for generation of Cosine sequence.
7. Program for the generation of UNIT impulse signal
8. Program for the generation of Exponential signal.

Circular convolution Using DFT Matlab Code

This document describes an experiment in digital signal processing involving linear and circular convolution using discrete Fourier transform (DFT) and inverse discrete Fourier transform (IDFT) techniques. The experiment uses MATLAB to compute the convolution of sample input signals x and h in both the linear and circular cases. Output results are displayed showing the convolution outputs match those obtained using built-in MATLAB convolution functions. The document provides code examples and output plots to demonstrate linear and circular convolution computation in the frequency domain.

Algorithm Analyzing

This slide explain complexity of an algorithm. Explain from theory perspective. At the end of slide, I also show the test result to prove the theory. Pleas, read this slide to improve your code quality .
This slide is exported from Ms. Power
Point to PDF.

Dsp manual

This document discusses the TMS320C6713 digital signal processor (DSP) development kit (DSK). The DSK features the high-performance TMS320C6713 floating-point DSP chip capable of 1350 million floating point operations per second. The DSK allows for efficient development and testing of applications for the C6713 DSP. It includes onboard memory, an analog interface circuit for data conversion, I/O ports, and JTAG emulation support. The DSK also includes a stereo codec for analog audio input/output.

Introduction to Algorithms

This document discusses algorithm analysis and complexity. It introduces algorithm analysis as a way to predict and compare algorithm performance. Different algorithms for computing factorials and finding the maximum subsequence sum are presented, along with their time complexities. The importance of efficient algorithms for problems involving large datasets is discussed.

DFT and IDFT Matlab Code

This document describes an experiment to perform the discrete Fourier transform (DFT) and inverse discrete Fourier transform (IDFT) on two input signals using MATLAB. The experiment calculates the magnitude and phase of the DFT and IDFT outputs and compares the results to the MATLAB FFT and IFFT functions. The student learns how to implement the DFT and IDFT and plot the magnitude and phase of signals.

Symbolic Execution as DPLL Modulo Theories

The document discusses symbolic execution, which is a program analysis technique that executes programs with symbolic inputs instead of concrete inputs. It describes symbolic execution as an approach for solving satisfiability modulo theories (SMT) problems, by viewing symbolic execution as an SMT solver. It presents an implementation of symbolic execution based on a Boolean executor that performs a depth-first search, combined with an SMT solver to check satisfiability of path conditions.

Digital Signal Processing Lab Manual

This document contains information about the Digital Signal Processing lab at Shadan College of Engineering & Technology. It includes:
1. A list of 12 experiments to be conducted in the lab, related to topics like generating signals, implementing filters, and analyzing system responses.
2. An introduction to MATLAB, describing its basic functions and capabilities for numerical computation and signal processing.
3. Programs and instructions for carrying out specific DSP experiments in MATLAB, including generating basic signals, computing the DFT/IDFT of sequences, and determining the impulse/frequency responses of systems defined by difference equations.
The document provides students with an overview of the lab activities and teaches them how to use MATLAB for digital signal

Asymptotic Notation

This document discusses analyzing algorithms and asymptotic notation. It defines running time as the number of primitive operations before termination. Examples are provided to illustrate calculating running time functions and classifying them by order of growth such as constant, logarithmic, linear, quadratic, and exponential time. Asymptotic notation such as Big-O, Big-Omega, and Big-Theta are introduced to classify functions by their asymptotic growth rates. Examples are given to demonstrate determining tight asymptotic bounds between functions. Recurrences are defined as equations describing functions in terms of smaller inputs and base cases, which are useful for analyzing recurrent algorithms.

Introduction to Algorithms and Asymptotic Notation

Asymptotic Notation is a notation used to represent and compare the efficiency of algorithms. It is a concise notation that deliberately omits details, such as constant time improvements, etc. Asymptotic notation consists of 5 commonly used symbols: big oh, small oh, big omega, small omega, and theta.

Asymptotics 140510003721-phpapp02

The presentation covered time and space complexity, average and worst case analysis, and asymptotic notations. It defined key concepts like time complexity measures the number of operations, space complexity measures memory usage, and worst case analysis provides an upper bound on running time. Common asymptotic notations like Big-O, Omega, and Theta were explained, and how they are used to compare how functions grow relative to each other as input size increases.

Time and space complexity

The document discusses time and space complexity analysis of algorithms. Time complexity measures the number of steps to solve a problem based on input size, with common orders being O(log n), O(n), O(n log n), O(n^2). Space complexity measures memory usage, which can be reused unlike time. Big O notation describes asymptotic growth rates to compare algorithm efficiencies, with constant O(1) being best and exponential O(c^n) being worst.

Dsp lab manual

The document describes MATLAB software and its uses for signal processing. MATLAB is a matrix-based program for scientific and engineering computation. It provides built-in functions for technical computation, graphics, and animation. The Signal Processing Toolbox contains functions for filtering, Fourier transforms, convolution, and filter design. The document lists some important MATLAB commands and frequently used signal processing functions, along with their syntax and purpose. It also describes the basic windows of the MATLAB interface and provides examples of generating common continuous and discrete time signals using MATLAB code.

Fundamentals of the Analysis of Algorithm Efficiency

This document discusses analyzing the efficiency of algorithms. It introduces the framework for analyzing algorithms in terms of time and space complexity. Time complexity indicates how fast an algorithm runs, while space complexity measures the memory required. The document outlines steps for analyzing algorithms, including measuring input size, determining the basic operations, calculating frequency counts of operations, and expressing efficiency in Big O notation order of growth. Worst-case, best-case, and average-case time complexities are also discussed.

Madrid easy

1. The document discusses practical representations of imprecise probabilities, which represent uncertainty as a set of probabilities rather than a single probability.
2. It provides an overview of several practical representations, including possibility distributions, P-boxes, probability intervals, and elementary comparative probabilities.
3. The representations aim to be computationally tractable by having a reasonable number of extreme points and satisfying properties like n-monotonicity.

Quantifying Information Leaks via Model Counting Modulo Theories

The 41st CREST Open Workshop - Software Engineering And Computer Science Using Information
http://crest.cs.ucl.ac.uk/cow/the_41st_cow_27_and_28_april_2015/

TMPA-2017: Generating Cost Aware Covering Arrays For Free

TMPA-2017: Tools and Methods of Program Analysis
3-4 March, 2017, Hotel Holiday Inn Moscow Vinogradovo, Moscow
Generating Cost Aware Covering Arrays For Free
Mustafa Kemal Tas, Hanefi Mercan, Gülşen Demiröz, Kamer Kaya, Cemal Yilmaz, Sabanci University
For video follow the link: https://youtu.be/Wkdd4A0rRjE
Would like to know more?
Visit our website:
www.tmpaconf.org
www.exactprosystems.com/events/tmpa
Follow us:
https://www.linkedin.com/company/exactpro-systems-llc?trk=biz-companies-cym
https://twitter.com/exactpro

Algorithm And analysis Lecture 03& 04-time complexity.

This document discusses algorithm efficiency and complexity analysis. It defines key terms like algorithms, asymptotic complexity, Big O notation, and different complexity classes. It provides examples of analyzing time complexity for different algorithms like loops, nested loops, and recursive functions. The document explains that Big O notation allows analyzing algorithms independent of machine or input by focusing on the highest order term as the problem size increases. Overall, the document introduces methods for measuring an algorithm's efficiency and analyzing its time and space complexity asymptotically.

Complexity analysis in Algorithms

1) The document discusses complexity analysis of algorithms, which involves determining the time efficiency of algorithms by counting the number of basic operations performed based on input size.
2) It covers motivations for complexity analysis, machine independence, and analyzing best, average, and worst case complexities.
3) Simple rules are provided for determining the complexity of code structures like loops, nested loops, if/else statements, and switch cases based on the number of iterations and branching.

Algorithm.ppt

The document discusses divide and conquer algorithms and merge sort. It provides details on how merge sort works including: (1) Divide the input array into halves recursively until single element subarrays, (2) Sort the subarrays using merge sort recursively, (3) Merge the sorted subarrays back together. The overall running time of merge sort is analyzed to be θ(nlogn) as each level of recursion contributes θ(n) work and there are logn levels of recursion.

digital signal-processing-lab-manual

The document contains the laboratory manual for the digital signal processing lab of Jayalakshmi Institute of Technology. It lists the experiments to be conducted using MATLAB and TMS320C5416. The experiments using MATLAB include generation of discrete time signals, verification of sampling theorem, calculation of FFT and IFFT, analysis of LTI systems, convolution, and design of FIR and IIR filters. The experiments using TMS320C5416 include linear and circular convolution, calculation of FFT, generation of signals, and implementation of FIR and IIR filters. Detailed procedures and programs are provided for each experiment.

Complexity of Algorithm

This document discusses the complexity of algorithms and the tradeoff between algorithm cost and time. It defines algorithm complexity as a function of input size that measures the time and space used by an algorithm. Different complexity classes are described such as polynomial, sub-linear, and exponential time. Examples are given to find the complexity of bubble sort and linear search algorithms. The concept of space-time tradeoffs is introduced, where using more space can reduce computation time. Genetic algorithms are proposed to efficiently solve large-scale construction time-cost tradeoff problems.

Digital signal Processing all matlab code with Lab report

Digital signal processing(DSP) laboratory with matlab software....
Problem List :
1.To write a Matlab program to evaluate the impulse response of the system.
2.Computation of N point DFT of a given sequence and to plot magnitude and phase spectrum.
3.To Generate continuous time sinusoidal signal, discrete time cosine signal.
4.To find the DFT / IDFT of given signal.
5.Program for generation of Sine sequence.
6.Program for generation of Cosine sequence.
7. Program for the generation of UNIT impulse signal
8. Program for the generation of Exponential signal.

Circular convolution Using DFT Matlab Code

This document describes an experiment in digital signal processing involving linear and circular convolution using discrete Fourier transform (DFT) and inverse discrete Fourier transform (IDFT) techniques. The experiment uses MATLAB to compute the convolution of sample input signals x and h in both the linear and circular cases. Output results are displayed showing the convolution outputs match those obtained using built-in MATLAB convolution functions. The document provides code examples and output plots to demonstrate linear and circular convolution computation in the frequency domain.

Algorithm Analyzing

This slide explain complexity of an algorithm. Explain from theory perspective. At the end of slide, I also show the test result to prove the theory. Pleas, read this slide to improve your code quality .
This slide is exported from Ms. Power
Point to PDF.

Dsp manual

This document discusses the TMS320C6713 digital signal processor (DSP) development kit (DSK). The DSK features the high-performance TMS320C6713 floating-point DSP chip capable of 1350 million floating point operations per second. The DSK allows for efficient development and testing of applications for the C6713 DSP. It includes onboard memory, an analog interface circuit for data conversion, I/O ports, and JTAG emulation support. The DSK also includes a stereo codec for analog audio input/output.

Introduction to Algorithms

This document discusses algorithm analysis and complexity. It introduces algorithm analysis as a way to predict and compare algorithm performance. Different algorithms for computing factorials and finding the maximum subsequence sum are presented, along with their time complexities. The importance of efficient algorithms for problems involving large datasets is discussed.

DFT and IDFT Matlab Code

This document describes an experiment to perform the discrete Fourier transform (DFT) and inverse discrete Fourier transform (IDFT) on two input signals using MATLAB. The experiment calculates the magnitude and phase of the DFT and IDFT outputs and compares the results to the MATLAB FFT and IFFT functions. The student learns how to implement the DFT and IDFT and plot the magnitude and phase of signals.

Symbolic Execution as DPLL Modulo Theories

The document discusses symbolic execution, which is a program analysis technique that executes programs with symbolic inputs instead of concrete inputs. It describes symbolic execution as an approach for solving satisfiability modulo theories (SMT) problems, by viewing symbolic execution as an SMT solver. It presents an implementation of symbolic execution based on a Boolean executor that performs a depth-first search, combined with an SMT solver to check satisfiability of path conditions.

Digital Signal Processing Lab Manual

This document contains information about the Digital Signal Processing lab at Shadan College of Engineering & Technology. It includes:
1. A list of 12 experiments to be conducted in the lab, related to topics like generating signals, implementing filters, and analyzing system responses.
2. An introduction to MATLAB, describing its basic functions and capabilities for numerical computation and signal processing.
3. Programs and instructions for carrying out specific DSP experiments in MATLAB, including generating basic signals, computing the DFT/IDFT of sequences, and determining the impulse/frequency responses of systems defined by difference equations.
The document provides students with an overview of the lab activities and teaches them how to use MATLAB for digital signal

Asymptotic Notation

This document discusses analyzing algorithms and asymptotic notation. It defines running time as the number of primitive operations before termination. Examples are provided to illustrate calculating running time functions and classifying them by order of growth such as constant, logarithmic, linear, quadratic, and exponential time. Asymptotic notation such as Big-O, Big-Omega, and Big-Theta are introduced to classify functions by their asymptotic growth rates. Examples are given to demonstrate determining tight asymptotic bounds between functions. Recurrences are defined as equations describing functions in terms of smaller inputs and base cases, which are useful for analyzing recurrent algorithms.

Introduction to Algorithms and Asymptotic Notation

Asymptotic Notation is a notation used to represent and compare the efficiency of algorithms. It is a concise notation that deliberately omits details, such as constant time improvements, etc. Asymptotic notation consists of 5 commonly used symbols: big oh, small oh, big omega, small omega, and theta.

Asymptotics 140510003721-phpapp02

The presentation covered time and space complexity, average and worst case analysis, and asymptotic notations. It defined key concepts like time complexity measures the number of operations, space complexity measures memory usage, and worst case analysis provides an upper bound on running time. Common asymptotic notations like Big-O, Omega, and Theta were explained, and how they are used to compare how functions grow relative to each other as input size increases.

Time and space complexity

The document discusses time and space complexity analysis of algorithms. Time complexity measures the number of steps to solve a problem based on input size, with common orders being O(log n), O(n), O(n log n), O(n^2). Space complexity measures memory usage, which can be reused unlike time. Big O notation describes asymptotic growth rates to compare algorithm efficiencies, with constant O(1) being best and exponential O(c^n) being worst.

Dsp lab manual

The document describes MATLAB software and its uses for signal processing. MATLAB is a matrix-based program for scientific and engineering computation. It provides built-in functions for technical computation, graphics, and animation. The Signal Processing Toolbox contains functions for filtering, Fourier transforms, convolution, and filter design. The document lists some important MATLAB commands and frequently used signal processing functions, along with their syntax and purpose. It also describes the basic windows of the MATLAB interface and provides examples of generating common continuous and discrete time signals using MATLAB code.

Fundamentals of the Analysis of Algorithm Efficiency

This document discusses analyzing the efficiency of algorithms. It introduces the framework for analyzing algorithms in terms of time and space complexity. Time complexity indicates how fast an algorithm runs, while space complexity measures the memory required. The document outlines steps for analyzing algorithms, including measuring input size, determining the basic operations, calculating frequency counts of operations, and expressing efficiency in Big O notation order of growth. Worst-case, best-case, and average-case time complexities are also discussed.

TMPA-2017: Generating Cost Aware Covering Arrays For Free

TMPA-2017: Generating Cost Aware Covering Arrays For Free

Algorithm And analysis Lecture 03& 04-time complexity.

Algorithm And analysis Lecture 03& 04-time complexity.

Complexity analysis in Algorithms

Complexity analysis in Algorithms

Algorithm.ppt

Algorithm.ppt

digital signal-processing-lab-manual

digital signal-processing-lab-manual

Complexity of Algorithm

Complexity of Algorithm

Digital signal Processing all matlab code with Lab report

Digital signal Processing all matlab code with Lab report

Circular convolution Using DFT Matlab Code

Circular convolution Using DFT Matlab Code

Algorithm Analyzing

Algorithm Analyzing

Dsp manual

Dsp manual

Introduction to Algorithms

Introduction to Algorithms

DFT and IDFT Matlab Code

DFT and IDFT Matlab Code

Symbolic Execution as DPLL Modulo Theories

Symbolic Execution as DPLL Modulo Theories

Digital Signal Processing Lab Manual

Digital Signal Processing Lab Manual

Asymptotic Notation

Asymptotic Notation

Introduction to Algorithms and Asymptotic Notation

Introduction to Algorithms and Asymptotic Notation

Asymptotics 140510003721-phpapp02

Asymptotics 140510003721-phpapp02

Time and space complexity

Time and space complexity

Dsp lab manual

Dsp lab manual

Fundamentals of the Analysis of Algorithm Efficiency

Fundamentals of the Analysis of Algorithm Efficiency

Madrid easy

1. The document discusses practical representations of imprecise probabilities, which represent uncertainty as a set of probabilities rather than a single probability.
2. It provides an overview of several practical representations, including possibility distributions, P-boxes, probability intervals, and elementary comparative probabilities.
3. The representations aim to be computationally tractable by having a reasonable number of extreme points and satisfying properties like n-monotonicity.

Quantifying Information Leaks via Model Counting Modulo Theories

The 41st CREST Open Workshop - Software Engineering And Computer Science Using Information
http://crest.cs.ucl.ac.uk/cow/the_41st_cow_27_and_28_april_2015/

Efficient Volume and Edge-Skeleton Computation for Polytopes Given by Oracles

The document discusses efficient algorithms for computing volume and edge skeletons of polytopes defined implicitly by optimization oracles. It presents an algorithm to compute the edge skeleton of a polytope in oracle calls and arithmetic operations. It also describes using geometric random walks and optimization oracles to approximate polytope volume, which is more efficient than exact computation for high dimensions. Experimental results show the approach computes volume within minutes for polytopes up to dimension 12 with less than 2% error.

Anlysis and design of algorithms part 1

Analyzing Algorithms and problems. Classifying functions by their asymptotic growth rate. Recursive procedures. Recurrence equations - Substitution Method, Changing variables, Recursion Tree, Master Theorem. Design Techniques- Divide and Conquer, Dynamic Programming, Greedy, Backtracking

Time complexity.ppt

This document discusses algorithm analysis and complexity. It defines key terms like algorithm, asymptotic complexity, Big-O notation, and time complexity. It provides examples of analyzing simple algorithms like summing array elements. The running time is expressed as a function of input size n. Common complexities like constant, linear, quadratic, and exponential time are introduced. Nested loops and sequences of statements are analyzed. The goal of analysis is to classify algorithms into complexity classes to understand how input size affects runtime.

chapter1.ppt

This document discusses key concepts in algorithm analysis and design including algorithms, data types, specifications vs implementations, time and space complexity analysis, asymptotic notation, and examples. It defines an algorithm as a set of instructions to accomplish a task, and a data type as a collection of objects and operations on those objects. The document covers analyzing time complexity using counting steps and asymptotic notation such as Big O, Omega, and Theta. Examples of matrix and list functions and their analyses are provided.

Lec03 04-time complexity

This document discusses analyzing the efficiency and complexity of algorithms. It begins by explaining that running time depends on input size and nature, and is generally measured by the number of steps or operations. Different examples are provided to demonstrate analyzing loops and recursive functions to derive asymptotic complexity bounds. Key points covered include using Big-O notation to classify algorithms according to worst-case running time, analyzing nested loops, sequences of statements, and conditional statements. The document emphasizes that asymptotic complexity focuses on higher-order terms as input size increases.

Crystal Ball Event Prediction and Log Analysis with Hadoop MapReduce and Spark

This document summarizes a student's Big Data project using MapReduce (Hadoop) and Spark that analyzes log data. It describes implementations of three approaches (pair, stripe, hybrid) to predict event co-occurrence relationships. It also describes using Spark and Scala to analyze web server log files to find top products, categories, and client IPs. Pseudocode and results are shown for each technique.

Optimal L-shaped matrix reordering, aka graph's core-periphery

We are interested in finding a permutation of the entries of a given square matrix so that the maximum number of its nonzero entries are moved to one of the corners in a L-shaped fashion.
If we interpret the nonzero entries of the matrix as the edges of a graph, this problem boils down to the so-called core–periphery structure, consisting of two sets: the core, a set of nodes that is highly connected across the whole graph, and the periphery, a set of nodes that is well connected only to the nodes that are in the core.
Matrix reordering problems have applications in sparse factorizations and preconditioning, while revealing core–periphery structures in networks has applications in economic, social and communication networks.

Lecture 2 data structures and algorithms

The document discusses algorithms and their complexity. It defines an algorithm as a well-defined computational procedure that takes inputs and produces outputs. Algorithms have properties like definiteness, correctness, finiteness, and effectiveness. While faster computers make any method viable, analyzing algorithms' complexity is still important because computing resources are finite. Algorithm complexity is analyzed asymptotically for large inputs, focusing on growth rates like constant, logarithmic, linear, quadratic, and exponential. Common notations like Big-O describe upper algorithm complexity bounds.

01 EC 7311-Module IV.pptx

The document discusses the Cook-Toom algorithm for fast convolution. It reduces the number of multiplications in a linear convolution from NL to L+N-1 by using Lagrange interpolation. It expresses the convolution as a polynomial multiplication problem and evaluates the polynomials at distinct points, allowing the convolution to be computed using L+N-1 multiplications and additional additions by decomposing the convolution matrix. An example shows applying the algorithm to a 2x2 convolution, reducing multiplications from 4 to 3.

Asymptotic notation

This document discusses mathematical notations and asymptotic analysis used to analyze algorithms, including big O, Omega, and Theta notation. It defines common mathematical functions like floor, ceiling, modulo, and factorial. It also covers permutations, exponents, and logarithms. The document explains that big O notation provides an upper bound on running time, Omega provides a lower bound, and Theta provides a tight bound. Finally, it categorizes common algorithm time complexities as constant, linear, logarithmic, polynomial, and exponential time.

Asymptotic Notation and Complexity

The ppt will provide complete detail of different types of complexity and asymptotic notation with suitable example.

analysis.ppt

This document provides an introduction to algorithm analysis. It discusses why algorithm analysis is important, as an inefficient program may have poor running time even if it is functionally correct. It introduces different algorithm analysis approaches like empirical, simulational, and analytical. Key concepts in algorithm analysis like worst-case, average-case, and best-case running times are explained. Different asymptotic notations like Big-O, Big-Omega, and Big-Theta that are used to describe the limiting behavior of functions are also introduced along with examples. Common algorithms like linear search and binary search are analyzed to demonstrate how to determine the time complexity of algorithms.

Cs6402 daa-2 marks set 1

The document discusses steps for designing and analyzing algorithms. It provides examples of recursive and non-recursive algorithms. The key steps are: 1) understand the problem, 2) make design decisions, 3) design the algorithm, 4) prove correctness, 5) analyze efficiency, and 6) code the algorithm. Analysis involves determining time complexity using asymptotic notations like Big-O. Examples provided include recursive factorial and non-recursive maximum element algorithms.

Probability cheatsheet

This document provides a probability cheatsheet compiled by William Chen and Joe Blitzstein with contributions from others. It is licensed under CC BY-NC-SA 4.0 and contains information on topics like counting rules, probability definitions, random variables, expectations, independence, and more. The cheatsheet is designed to summarize essential concepts in probability.

module1_Introductiontoalgorithms_2022.pdf

What is an Algorithm
Time Complexity
Space Complexity
Asymptotic Notations
Recursive Analysis
Selection Sort
Insertion Sort
Recurrences
Substitution Method
Master Tree Method
Recursion Tree Method

1.algorithms

The document discusses algorithms and complexity analysis. It defines an algorithm as a well-defined computational procedure that takes inputs and produces outputs. It notes that algorithms have properties like definiteness, correctness, finiteness, and effectiveness. The document emphasizes that while computational speed is important, algorithms must also be analyzed based on how their running time increases with larger inputs. It introduces asymptotic notation like Big-O that is used to classify algorithms by their growth rates and compare their efficiency.

Nbvtalkatbzaonencryptionpuzzles

This presentation contains my view on how to use puzzles while teaching Encryption, Security, Forensics to the students

Nbvtalkatbzaonencryptionpuzzles

This PPT discusses about some programming puzzles that are related to Encryption and also it emphasis the need for strengthening bit-wise operators concept.

Madrid easy

Madrid easy

Quantifying Information Leaks via Model Counting Modulo Theories

Quantifying Information Leaks via Model Counting Modulo Theories

Efficient Volume and Edge-Skeleton Computation for Polytopes Given by Oracles

Efficient Volume and Edge-Skeleton Computation for Polytopes Given by Oracles

Anlysis and design of algorithms part 1

Anlysis and design of algorithms part 1

Time complexity.ppt

Time complexity.ppt

chapter1.ppt

chapter1.ppt

Lec03 04-time complexity

Lec03 04-time complexity

Crystal Ball Event Prediction and Log Analysis with Hadoop MapReduce and Spark

Crystal Ball Event Prediction and Log Analysis with Hadoop MapReduce and Spark

Optimal L-shaped matrix reordering, aka graph's core-periphery

Optimal L-shaped matrix reordering, aka graph's core-periphery

Lecture 2 data structures and algorithms

Lecture 2 data structures and algorithms

01 EC 7311-Module IV.pptx

01 EC 7311-Module IV.pptx

Asymptotic notation

Asymptotic notation

Asymptotic Notation and Complexity

Asymptotic Notation and Complexity

analysis.ppt

analysis.ppt

Cs6402 daa-2 marks set 1

Cs6402 daa-2 marks set 1

Probability cheatsheet

Probability cheatsheet

module1_Introductiontoalgorithms_2022.pdf

module1_Introductiontoalgorithms_2022.pdf

1.algorithms

1.algorithms

Nbvtalkatbzaonencryptionpuzzles

Nbvtalkatbzaonencryptionpuzzles

Nbvtalkatbzaonencryptionpuzzles

Nbvtalkatbzaonencryptionpuzzles

Modelling Up - DDDEurope 2024 - Amsterdam

What to do when you have a perfect model for your software but you are constrained by an imperfect business model?
This talk explores the challenges of bringing modelling rigour to the business and strategy levels, and talking to your non-technical counterparts in the process.

UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions

The UI5 tooling is the development and build tooling of UI5. It is built in a modular and extensible way so that it can be easily extended by your needs. This session will showcase various tooling extensions which can boost your development experience by far so that you can really work offline, transpile your code in your project to use even newer versions of EcmaScript (than 2022 which is supported right now by the UI5 tooling), consume any npm package of your choice in your project, using different kind of proxies, and even stitching UI5 projects during development together to mimic your target environment.

Need for Speed: Removing speed bumps from your Symfony projects ⚡️

No one wants their application to drag like a car stuck in the slow lane! Yet it’s all too common to encounter bumpy, pothole-filled solutions that slow the speed of any application. Symfony apps are not an exception.
In this talk, I will take you for a spin around the performance racetrack. We’ll explore common pitfalls - those hidden potholes on your application that can cause unexpected slowdowns. Learn how to spot these performance bumps early, and more importantly, how to navigate around them to keep your application running at top speed.
We will focus in particular on tuning your engine at the application level, making the right adjustments to ensure that your system responds like a well-oiled, high-performance race car.

一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理

UMN硕士毕业证成绩单【微信95270640】购买（明尼苏达大学毕业证成绩单硕士学历）Q微信95270640代办UMN学历认证留信网伪造明尼苏达大学学位证书精仿明尼苏达大学本科/硕士文凭证书补办明尼苏达大学 diplomaoffer,Transcript购买明尼苏达大学毕业证成绩单购买UMN假毕业证学位证书购买伪造明尼苏达大学文凭证书学位证书,专业办理雅思、托福成绩单，学生ID卡，在读证明，海外各大学offer录取通知书，毕业证书，成绩单，文凭等材料:1:1完美还原毕业证、offer录取通知书、学生卡等各种在读或毕业材料的防伪工艺（包括 烫金、烫银、钢印、底纹、凹凸版、水印、防伪光标、热敏防伪、文字图案浮雕，激光镭射，紫外荧光，温感光标）学校原版上有的工艺我们一样不会少，不论是老版本还是最新版本，都能保证最高程度还原，力争完美以求让所有同学都能享受到完美的品质服务。
#毕业证成绩单 #毕业証 #成绩单 #學生卡 #OFFER录取通知书 #雅思#托福等……
国外大学明尼苏达大学明尼苏达大学毕业证offer制作方法（一对一专业服务）
1客户提供办理信息：姓名生日专业学位毕业时间等（如信息不确定可以咨询顾问：我们有专业老师帮你查询）；
2开始安排制作毕业证成绩单电子图；
3毕业证成绩单电子版做好以后发送给您确认；
4毕业证成绩单电子版您确认信息无误之后安排制作成品；
5成品做好拍照或者视频给您确认；
6快递给客户（国内顺丰国外DHLUPS等快读邮寄）
— — 制作工艺 【高仿真】— —
凭借多年的制作经验本公司制作明尼苏达大学明尼苏达大学毕业证offer《激光》《水印》《钢印》《烫金》《紫外线》凹凸版uv版等防伪技术一流高精仿度几乎跟学校100%相同！让您绝对满意。
— — -公司理念 【诚信为主】— — —
我們以質量求生存.以服务求发展有雄厚的实力专业的团队咨询顾问为您细心解答可详谈是真是假眼见为实让您真正放心平凡人生,尽我所能助您一臂之力让我們携手圆您梦想!
此贴长年有效【贴心专线/微-信: 95270640】敬请保留此联系方式以备用！如有不在线请给我们留言！我们将在第一时间给您回复!上散发着一抹抹的光晕而这每处自然形成的细节融合在一起浑然天成的美实在令人心生愉悦小道的周边无秩序的生长着几株艳丽的野花红的粉的紫的虽混乱无章却给这幅美景更增添一份性感夹杂着一份纯洁的妖娆毫无违和感实在给人带来一份悠然幸福的心情如果说现在的审美已经断然拒绝了无声的话那么在树林间飞掠而过的小鸟叽叽咋咋的叫声是否就是这最后的点睛之笔悠然走在林间的小路上宁静与清香一丝丝的盛夏气息吸入身体昔日生活里的繁忙多

Mobile App Development Company In Noida | Drona Infotech

Drona Infotech is a premier mobile app development company in Noida, providing cutting-edge solutions for businesses.
Visit Us For : https://www.dronainfotech.com/mobile-application-development/

8 Best Automated Android App Testing Tool and Framework in 2024.pdf

Regarding mobile operating systems, two major players dominate our thoughts: Android and iPhone. With Android leading the market, software development companies are focused on delivering apps compatible with this OS. Ensuring an app's functionality across various Android devices, OS versions, and hardware specifications is critical, making Android app testing essential.

Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis

When it is all about ERP solutions, companies typically meet their needs with common ERP solutions like SAP, Oracle, and Microsoft Dynamics. These big players have demonstrated that ERP systems can be either simple or highly comprehensive. This remains true today, but there are new factors to consider, including a promising new contender in the market that’s Odoo. This blog compares Odoo ERP with traditional ERP systems and explains why many companies now see Odoo ERP as the best choice.
What are ERP Systems?
An ERP, or Enterprise Resource Planning, system provides your company with valuable information to help you make better decisions and boost your ROI. You should choose an ERP system based on your company’s specific needs. For instance, if you run a manufacturing or retail business, you will need an ERP system that efficiently manages inventory. A consulting firm, on the other hand, would benefit from an ERP system that enhances daily operations. Similarly, eCommerce stores would select an ERP system tailored to their needs.
Because different businesses have different requirements, ERP system functionalities can vary. Among the various ERP systems available, Odoo ERP is considered one of the best in the ERp market with more than 12 million global users today.
Odoo is an open-source ERP system initially designed for small to medium-sized businesses but now suitable for a wide range of companies. Odoo offers a scalable and configurable point-of-sale management solution and allows you to create customised modules for specific industries. Odoo is gaining more popularity because it is built in a way that allows easy customisation, has a user-friendly interface, and is affordable. Here, you will cover the main differences and get to know why Odoo is gaining attention despite the many other ERP systems available in the market.

KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD

Charla impartida en el evento de "KuberTENes Birthday Bash Guadalajara" para celebrar el 10mo. aniversario de Kubernetes #kuberTENes #celebr8k8s #k8s

Measures in SQL (SIGMOD 2024, Santiago, Chile)

SQL has attained widespread adoption, but Business Intelligence tools still use their own higher level languages based upon a multidimensional paradigm. Composable calculations are what is missing from SQL, and we propose a new kind of column, called a measure, that attaches a calculation to a table. Like regular tables, tables with measures are composable and closed when used in queries.
SQL-with-measures has the power, conciseness and reusability of multidimensional languages but retains SQL semantics. Measure invocations can be expanded in place to simple, clear SQL.
To define the evaluation semantics for measures, we introduce context-sensitive expressions (a way to evaluate multidimensional expressions that is consistent with existing SQL semantics), a concept called evaluation context, and several operations for setting and modifying the evaluation context.
A talk at SIGMOD, June 9–15, 2024, Santiago, Chile
Authors: Julian Hyde (Google) and John Fremlin (Google)
https://doi.org/10.1145/3626246.3653374

Mobile app Development Services | Drona Infotech

Drona Infotech is one of the Best Mobile App Development Company In Noida Maintenance and ongoing support. mobile app development Services can help you maintain and support your app after it has been launched. This includes fixing bugs, adding new features, and keeping your app up-to-date with the latest
Visit Us For :

Using Xen Hypervisor for Functional Safety

An update on making Xen hypervisor functionally safe and enhancing its usage in automotive and industrial use cases

Malibou Pitch Deck For Its €3M Seed Round

French start-up Malibou raised a €3 million Seed Round to develop its payroll and human resources
management platform for VSEs and SMEs. The financing round was led by investors Breega, Y Combinator, and FCVC.

Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...

Wondering how X-Sign gained popularity in a quick time span? This eSign functionality of XfilesPro DocuPrime has many advancements to offer for Salesforce users. Explore them now!

What next after learning python programming basics

What next after learning python programming basics

Using Query Store in Azure PostgreSQL to Understand Query Performance

Microsoft has added an excellent new extension in PostgreSQL on their Azure Platform. This session, presented at Posette 2024, covers what Query Store is and the types of information you can get out of it.

UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem

Learn about the latest innovations in and around OpenUI5/SAPUI5: UI5 Tooling, UI5 linter, UI5 Web Components, Web Components Integration, UI5 2.x, UI5 GenAI.
Recording:
https://www.youtube.com/live/MSdGLG2zLy8?si=INxBHTqkwHhxV5Ta&t=0

E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies

Explore the seamless transition to e-invoicing with this comprehensive guide tailored for Saudi Arabian businesses. Navigate the process effortlessly with step-by-step instructions designed to streamline implementation and enhance efficiency.

WWDC 2024 Keynote Review: For CocoaCoders Austin

Overview of WWDC 2024 Keynote Address.
Covers: Apple Intelligence, iOS18, macOS Sequoia, iPadOS, watchOS, visionOS, and Apple TV+.
Understandable dialogue on Apple TV+
On-device app controlling AI.
Access to ChatGPT with a guest appearance by Chief Data Thief Sam Altman!
App Locking! iPhone Mirroring! And a Calculator!!

socradar-q1-2024-aviation-industry-report.pdf

SOCRadar's Aviation Industry Q1 Incident Report is out now!
The aviation industry has always been a prime target for cybercriminals due to its critical infrastructure and high stakes. In the first quarter of 2024, the sector faced an alarming surge in cybersecurity threats, revealing its vulnerabilities and the relentless sophistication of cyber attackers.
SOCRadar’s Aviation Industry, Quarterly Incident Report, provides an in-depth analysis of these threats, detected and examined through our extensive monitoring of hacker forums, Telegram channels, and dark web platforms.

Top 9 Trends in Cybersecurity for 2024.pptx

Security and risk management (SRM) leaders face disruptions on technological, organizational, and human fronts. Preparation and pragmatic execution are key for dealing with these disruptions and providing the right cybersecurity program.

Modelling Up - DDDEurope 2024 - Amsterdam

Modelling Up - DDDEurope 2024 - Amsterdam

UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions

UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions

Need for Speed: Removing speed bumps from your Symfony projects ⚡️

Need for Speed: Removing speed bumps from your Symfony projects ⚡️

一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理

一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理

Mobile App Development Company In Noida | Drona Infotech

Mobile App Development Company In Noida | Drona Infotech

8 Best Automated Android App Testing Tool and Framework in 2024.pdf

8 Best Automated Android App Testing Tool and Framework in 2024.pdf

Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis

Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis

KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD

KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD

Measures in SQL (SIGMOD 2024, Santiago, Chile)

Measures in SQL (SIGMOD 2024, Santiago, Chile)

Mobile app Development Services | Drona Infotech

Mobile app Development Services | Drona Infotech

Using Xen Hypervisor for Functional Safety

Using Xen Hypervisor for Functional Safety

Malibou Pitch Deck For Its €3M Seed Round

Malibou Pitch Deck For Its €3M Seed Round

Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...

Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...

What next after learning python programming basics

What next after learning python programming basics

Using Query Store in Azure PostgreSQL to Understand Query Performance

Using Query Store in Azure PostgreSQL to Understand Query Performance

UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem

UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem

E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies

E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies

WWDC 2024 Keynote Review: For CocoaCoders Austin

WWDC 2024 Keynote Review: For CocoaCoders Austin

socradar-q1-2024-aviation-industry-report.pdf

socradar-q1-2024-aviation-industry-report.pdf

Top 9 Trends in Cybersecurity for 2024.pptx

Top 9 Trends in Cybersecurity for 2024.pptx

- 1. Computing Information Flow Using Symbolic Model-Checking 10 avril 2018
- 2. Introduction Literature review Background Leakage in non-probabilistic programs Demo Experimental results Conclusion and future work
- 3. Introduction Literature review Background Leakage in non-probabilistic programs Demo Experimental results Conclusion and future work
- 4. Introduction Information Leakage : I Information about the secret inputs using publicly observable outputs I Outputs independent of inputs =⇒ No leakage I Unique input corresponding to given output =⇒ Full leakage The quantitative information flow bounding problem and the quantitative information flow comparison problem for Boolean programs are PSPACE-complete .
- 5. Introduction Literature review Background Leakage in non-probabilistic programs Demo Experimental results Conclusion and future work
- 6. Literature review I .[M. Backes , al] - S&P 2009 . DisQuant : Automatic discovery and quantification of information leaks I .[Heusser , al] - ACSAC 2010 . selfcomp : Quantifying Information Leaks in Software I .[Quoc-Sang Phan , al ] - ACM SIGSOFT 2012. jpf-qif : Symbolic Quantitative Information Flow I .[Quoc-Sang Phan , al ] - ASIACCS 2014. sqifc : Abstract model counting : a novel approach for quantification of information leaks. I .[Rohit Chadha , al] - FSTTCS 2014. Moped-QLeak : Computing Information Flow Using Symbolic Model-Checking
- 7. Introduction Literature review Background Leakage in non-probabilistic programs Demo Experimental results Conclusion and future work
- 8. Symbolic Model-Checking Model Checking : I Exhaustive search of the state space of the system . I Disadvantage : State Explosion Problem Symbolic Model Checking : I uses boolean encoding for state machine and sets of states. I BDDs used to represent boolean functions .
- 9. Boolean programs I Global variables G : Input and output I Local variables : Internal calculations I Program statements : transform global and local variables I For Program P, Fp : 2G 7−→ 2G ∪ {⊥} I Fp( ¯ g0) = ⊥ : P does not terminate ¯ g0
- 10. Binary decision diagrams (BDDs) I Set of variables V = {x, y, z} with the order x < y < z I f (x, y, z) = x → (y ↔ z) I BDDs are data structures for storing elements : 2G −→ {0, 1} Unreduced decision diagram (left) and corresponding BDD (right)
- 11. Algebraic Decision Diagrams (ADDs) I Set of variables V I ADD : 2G −→ M (M = R) I BDDs + real values on the terminal nodes I BDDs as 0/1-ADDs ADD (right) and its reduced form (left)
- 12. Fixed-point Consider the complete lattice (2G , ⊆) Consider a function f : 2S 7−→ 2S X ∈ 2S is fixed point of f ⇐⇒ f (X) = X X is least fixed point of f if for every fixed point Y , X ⊆ Y Theorem (Tarski-knaster) Consider a function f : 2S 7−→ 2S that is monotonic X ⊆ Y then f (X) ⊆ f (Y ) Consider the sequence : X0 = ∅ X1 = f (X0) X2 = f (X1)... This eventually converge to the least fixed point
- 13. Information leakage in programs 1. Min-entropy leakage measures vulnerability of the secret inputs to being guessed correctly in a single attempt of the adversary MEU(P) = log P o∈O maxs∈S µ(S = s|O = o) 2. Shannon entropy leakage measures expected number of guesses required to correctly guess the secret input SEU(P) = log|S| − 1 |S| P o∈O |P−1(o)|log(|P−1(o)|)
- 14. Introduction Literature review Background Leakage in non-probabilistic programs Demo Experimental results Conclusion and future work
- 15. Definition (Summary of a Program) Let P be a program with G = {x1, ..., xn} as the set of global variables. Let G0 = {x0 1, ..., x0 n} and G ∩ G0 = ∅. The summary of P , denoted TP , is a function TP : 2(G∪G0) → {0, 1} such that for every z1, ..., zn, z0 1, ..., z0 n ∈ {true, false}, we have TP(z1, ..., zn, z0 1, ..., z0 n) = 1 ⇐⇒ P(z1, ..., zn) = (z0 1, ..., z0 n). Example : Boolean program Pex with global variables : s1, s2, o1 and o2. o1 = false ; o2 = false ; while s1 ; o1 = false ; o2 = s2 ; s1 = false ; s2 = false ;
- 16. Assuming the order s1 < s0 1 < s2 < s0 2 < o1 < o0 1 < o2 < o0 2 : Pex is shown as a 0/1-ADD :
- 17. Leakage measured using min-entropy Let post(2G ) = { ¯ g0 ∈ 2G |∃ḡ ∈ 2G .P(ḡ) = ¯ g0}. If P terminates on all inputs then the min-entropy leakage : is log(|post(2G )|) . otherwise it is log(|post(2G )| + 1) Lemma Let Tout,P = orAbstract(G, TP) ∧ Tterm,P = orAbstract(G0, TP). 1. |post(2G )| = val(abstract(+, G0, Tout,P)). 2. P terminates on every input iff isConst(Tterm,P) and val(Tterm,P) = 1.
- 18. Leakage measured using min-entropy The ADD representing Tout,P : the set of all possible outputs of P .
- 19. Algorithm : Symbolic computation of min-entropy leakage
- 20. Leakage measured using Shannon entropy Two possible outputs =⇒ We need to compute : P ¯ g0∈2G0 |P−1( ¯ g0)|log|P−1( ¯ g0)| + |P−1(⊥)|log|P−1(⊥)| . The ADD Teq−size,P : The ADD Tnon−term,P :
- 21. Algorithm :Symbolic computation of Shannon-entropy leakage
- 22. Introduction Literature review Background Leakage in non-probabilistic programs Demo Experimental results Conclusion and future work
- 24. Example : Sum Query Input language : Remopla
- 26. Introduction Literature review Background Leakage in non-probabilistic programs Demo Experimental results Conclusion and future work
- 27. Examples used for evaluation
- 29. Introduction Literature review Background Leakage in non-probabilistic programs Demo Experimental results Conclusion and future work
- 30. Conclusion and future work I Symbolic algorithms for measuring information leakage I Integrable in any BDD based reachability analysis tool I Summary calculation is the overhead - BDD size (algebraic operations) and variable orderings I future work : I ProPed :Support recursive programs I Other symbolic verification approaches : CEGAR (Counterexample Guided Abstraction Refinement )
- 31. References R. Chadha, U. Mathur, S. Schwoon Computing Information Flow Using Symbolic Model Checking Foundations of Software Technology and Theoretical Computer Science (FSTTCS), 2014 . Moped QLeak : https://sites.google.com/site/mopedqleak Presented By : LOTFI LARBAOUI