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.
Introduction to Algorithms and Asymptotic NotationAmrinder Arora
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.
Introduction to Algorithms and Asymptotic NotationAmrinder Arora
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.
Dynamic Programming design technique is one of the fundamental algorithm design techniques, and possibly one of the ones that are hardest to master for those who did not study it formally. In these slides (which are continuation of part 1 slides), we cover two problems: maximum value contiguous subarray, and maximum increasing subsequence.
Analysis and design of algorithms part 4Deepak John
Complexity Theory - Introduction. P and NP. NP-Complete problems. Approximation algorithms. Bin packing, Graph coloring. Traveling salesperson Problem.
Dynamic Programming is one of the most interesting design techniques. The concise idea is to avoid recomputations. Matrix Chain Multiplication and All Pairs Shortest Paths are two interesting applications of this design technique
Queuing theory is a branch of mathematics that studies the behavior of waitin...Sonam704174
Queuing theory is a branch of mathematics that studies the behavior of waiting lines, or queues, in systems where entities such as customers, jobs, or data packets arrive at a service point and wait for service.
Dynamic Programming design technique is one of the fundamental algorithm design techniques, and possibly one of the ones that are hardest to master for those who did not study it formally. In these slides (which are continuation of part 1 slides), we cover two problems: maximum value contiguous subarray, and maximum increasing subsequence.
Analysis and design of algorithms part 4Deepak John
Complexity Theory - Introduction. P and NP. NP-Complete problems. Approximation algorithms. Bin packing, Graph coloring. Traveling salesperson Problem.
Dynamic Programming is one of the most interesting design techniques. The concise idea is to avoid recomputations. Matrix Chain Multiplication and All Pairs Shortest Paths are two interesting applications of this design technique
Queuing theory is a branch of mathematics that studies the behavior of waitin...Sonam704174
Queuing theory is a branch of mathematics that studies the behavior of waiting lines, or queues, in systems where entities such as customers, jobs, or data packets arrive at a service point and wait for service.
Quantifying Information Leaks via Model Counting Modulo TheoriesQuoc-Sang Phan
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/
This fast-paced session starts with an introduction to neural networks and linear regression models, along with a quick view of TensorFlow, followed by some Scala APIs for TensorFlow. You'll also see a simple dockerized image of Scala and TensorFlow code and how to execute the code in that image from the command line. No prior knowledge of NNs, Keras, or TensorFlow is required (but you must be comfortable with Scala).
Injecting image priors into Learnable Compressive SubsamplingMartino Ferrari
My master thesis work extends the problem formulation of learnable compressive subsampling [1] that focuses on the learning of the best sampling operator in the Fourier domain adapted to spectral properties of a training set of images. I formulated the problem as a reconstruction from a finite number of sparse samples with a prior learned from the external dataset or learned on-fly from the images to be reconstructed. More in
details, I developed two very different methods, one using multiband coding in the spectral domain and the second using a neural network.
The new methods can be applied to many different fields of spectroscopy and Fourier optics, for example in medical (computerized tomography, magnetic resonance spectroscopy) and astronomy (the Square Kilometre Array) imaging, where the capability to reconstruct high-quality images, in the pixel domain, from a limited number of samples, in the frequency domain, is a key issue.
The proposed methods have been tested on diverse datasets covering facial images, medical and multi-band astronomical data, using the mean square error and SSIM as a perceptual measure of the quality of the reconstruction.
Finally, I explored the possible application in data acquisition systems such as computer tomography and radio astronomy. The obtained results demostrate that the properties of the proposed methods have a very promising potential for future research and extensions.
For such reason, the work was both presented at the poster session of the EUSIPCO 2018 conference in Rome and submitted for a EU patent.
[1] L. Baldassarre, Y.-H. Li, J. Scarlett, B. Gözcü, I. Bogunovic, and V.
Cevher, “Learning-based compressive subsampling,” IEEE Journal of Selected
Topics in Signal Processing, vol. 10, no. 4, pp. 809–822, 2016
I will discuss subtle asynchrony in two contexts. First, how do we bring asynchronous task parallelism to the Fortran language, without relying on threads or related concepts? Second, I will describe how asynchronous task parallelism emerges in NWChem via overdecomposition, without programmers thinking about tasks. This example demonstrates that many of the principles of asynchronous many task execution can be achieved without specialized runtime systems or programming abstractions.
Cancer cell metabolism: special Reference to Lactate PathwayAADYARAJPANDEY1
Normal Cell Metabolism:
Cellular respiration describes the series of steps that cells use to break down sugar and other chemicals to get the energy we need to function.
Energy is stored in the bonds of glucose and when glucose is broken down, much of that energy is released.
Cell utilize energy in the form of ATP.
The first step of respiration is called glycolysis. In a series of steps, glycolysis breaks glucose into two smaller molecules - a chemical called pyruvate. A small amount of ATP is formed during this process.
Most healthy cells continue the breakdown in a second process, called the Kreb's cycle. The Kreb's cycle allows cells to “burn” the pyruvates made in glycolysis to get more ATP.
The last step in the breakdown of glucose is called oxidative phosphorylation (Ox-Phos).
It takes place in specialized cell structures called mitochondria. This process produces a large amount of ATP. Importantly, cells need oxygen to complete oxidative phosphorylation.
If a cell completes only glycolysis, only 2 molecules of ATP are made per glucose. However, if the cell completes the entire respiration process (glycolysis - Kreb's - oxidative phosphorylation), about 36 molecules of ATP are created, giving it much more energy to use.
IN CANCER CELL:
Unlike healthy cells that "burn" the entire molecule of sugar to capture a large amount of energy as ATP, cancer cells are wasteful.
Cancer cells only partially break down sugar molecules. They overuse the first step of respiration, glycolysis. They frequently do not complete the second step, oxidative phosphorylation.
This results in only 2 molecules of ATP per each glucose molecule instead of the 36 or so ATPs healthy cells gain. As a result, cancer cells need to use a lot more sugar molecules to get enough energy to survive.
Unlike healthy cells that "burn" the entire molecule of sugar to capture a large amount of energy as ATP, cancer cells are wasteful.
Cancer cells only partially break down sugar molecules. They overuse the first step of respiration, glycolysis. They frequently do not complete the second step, oxidative phosphorylation.
This results in only 2 molecules of ATP per each glucose molecule instead of the 36 or so ATPs healthy cells gain. As a result, cancer cells need to use a lot more sugar molecules to get enough energy to survive.
introduction to WARBERG PHENOMENA:
WARBURG EFFECT Usually, cancer cells are highly glycolytic (glucose addiction) and take up more glucose than do normal cells from outside.
Otto Heinrich Warburg (; 8 October 1883 – 1 August 1970) In 1931 was awarded the Nobel Prize in Physiology for his "discovery of the nature and mode of action of the respiratory enzyme.
WARNBURG EFFECT : cancer cells under aerobic (well-oxygenated) conditions to metabolize glucose to lactate (aerobic glycolysis) is known as the Warburg effect. Warburg made the observation that tumor slices consume glucose and secrete lactate at a higher rate than normal tissues.
Slide 1: Title Slide
Extrachromosomal Inheritance
Slide 2: Introduction to Extrachromosomal Inheritance
Definition: Extrachromosomal inheritance refers to the transmission of genetic material that is not found within the nucleus.
Key Components: Involves genes located in mitochondria, chloroplasts, and plasmids.
Slide 3: Mitochondrial Inheritance
Mitochondria: Organelles responsible for energy production.
Mitochondrial DNA (mtDNA): Circular DNA molecule found in mitochondria.
Inheritance Pattern: Maternally inherited, meaning it is passed from mothers to all their offspring.
Diseases: Examples include Leber’s hereditary optic neuropathy (LHON) and mitochondrial myopathy.
Slide 4: Chloroplast Inheritance
Chloroplasts: Organelles responsible for photosynthesis in plants.
Chloroplast DNA (cpDNA): Circular DNA molecule found in chloroplasts.
Inheritance Pattern: Often maternally inherited in most plants, but can vary in some species.
Examples: Variegation in plants, where leaf color patterns are determined by chloroplast DNA.
Slide 5: Plasmid Inheritance
Plasmids: Small, circular DNA molecules found in bacteria and some eukaryotes.
Features: Can carry antibiotic resistance genes and can be transferred between cells through processes like conjugation.
Significance: Important in biotechnology for gene cloning and genetic engineering.
Slide 6: Mechanisms of Extrachromosomal Inheritance
Non-Mendelian Patterns: Do not follow Mendel’s laws of inheritance.
Cytoplasmic Segregation: During cell division, organelles like mitochondria and chloroplasts are randomly distributed to daughter cells.
Heteroplasmy: Presence of more than one type of organellar genome within a cell, leading to variation in expression.
Slide 7: Examples of Extrachromosomal Inheritance
Four O’clock Plant (Mirabilis jalapa): Shows variegated leaves due to different cpDNA in leaf cells.
Petite Mutants in Yeast: Result from mutations in mitochondrial DNA affecting respiration.
Slide 8: Importance of Extrachromosomal Inheritance
Evolution: Provides insight into the evolution of eukaryotic cells.
Medicine: Understanding mitochondrial inheritance helps in diagnosing and treating mitochondrial diseases.
Agriculture: Chloroplast inheritance can be used in plant breeding and genetic modification.
Slide 9: Recent Research and Advances
Gene Editing: Techniques like CRISPR-Cas9 are being used to edit mitochondrial and chloroplast DNA.
Therapies: Development of mitochondrial replacement therapy (MRT) for preventing mitochondrial diseases.
Slide 10: Conclusion
Summary: Extrachromosomal inheritance involves the transmission of genetic material outside the nucleus and plays a crucial role in genetics, medicine, and biotechnology.
Future Directions: Continued research and technological advancements hold promise for new treatments and applications.
Slide 11: Questions and Discussion
Invite Audience: Open the floor for any questions or further discussion on the topic.
Seminar of U.V. Spectroscopy by SAMIR PANDASAMIR PANDA
Spectroscopy is a branch of science dealing the study of interaction of electromagnetic radiation with matter.
Ultraviolet-visible spectroscopy refers to absorption spectroscopy or reflect spectroscopy in the UV-VIS spectral region.
Ultraviolet-visible spectroscopy is an analytical method that can measure the amount of light received by the analyte.
Introduction:
RNA interference (RNAi) or Post-Transcriptional Gene Silencing (PTGS) is an important biological process for modulating eukaryotic gene expression.
It is highly conserved process of posttranscriptional gene silencing by which double stranded RNA (dsRNA) causes sequence-specific degradation of mRNA sequences.
dsRNA-induced gene silencing (RNAi) is reported in a wide range of eukaryotes ranging from worms, insects, mammals and plants.
This process mediates resistance to both endogenous parasitic and exogenous pathogenic nucleic acids, and regulates the expression of protein-coding genes.
What are small ncRNAs?
micro RNA (miRNA)
short interfering RNA (siRNA)
Properties of small non-coding RNA:
Involved in silencing mRNA transcripts.
Called “small” because they are usually only about 21-24 nucleotides long.
Synthesized by first cutting up longer precursor sequences (like the 61nt one that Lee discovered).
Silence an mRNA by base pairing with some sequence on the mRNA.
Discovery of siRNA?
The first small RNA:
In 1993 Rosalind Lee (Victor Ambros lab) was studying a non- coding gene in C. elegans, lin-4, that was involved in silencing of another gene, lin-14, at the appropriate time in the
development of the worm C. elegans.
Two small transcripts of lin-4 (22nt and 61nt) were found to be complementary to a sequence in the 3' UTR of lin-14.
Because lin-4 encoded no protein, she deduced that it must be these transcripts that are causing the silencing by RNA-RNA interactions.
Types of RNAi ( non coding RNA)
MiRNA
Length (23-25 nt)
Trans acting
Binds with target MRNA in mismatch
Translation inhibition
Si RNA
Length 21 nt.
Cis acting
Bind with target Mrna in perfect complementary sequence
Piwi-RNA
Length ; 25 to 36 nt.
Expressed in Germ Cells
Regulates trnasposomes activity
MECHANISM OF RNAI:
First the double-stranded RNA teams up with a protein complex named Dicer, which cuts the long RNA into short pieces.
Then another protein complex called RISC (RNA-induced silencing complex) discards one of the two RNA strands.
The RISC-docked, single-stranded RNA then pairs with the homologous mRNA and destroys it.
THE RISC COMPLEX:
RISC is large(>500kD) RNA multi- protein Binding complex which triggers MRNA degradation in response to MRNA
Unwinding of double stranded Si RNA by ATP independent Helicase
Active component of RISC is Ago proteins( ENDONUCLEASE) which cleave target MRNA.
DICER: endonuclease (RNase Family III)
Argonaute: Central Component of the RNA-Induced Silencing Complex (RISC)
One strand of the dsRNA produced by Dicer is retained in the RISC complex in association with Argonaute
ARGONAUTE PROTEIN :
1.PAZ(PIWI/Argonaute/ Zwille)- Recognition of target MRNA
2.PIWI (p-element induced wimpy Testis)- breaks Phosphodiester bond of mRNA.)RNAse H activity.
MiRNA:
The Double-stranded RNAs are naturally produced in eukaryotic cells during development, and they have a key role in regulating gene expression .
Richard's entangled aventures in wonderlandRichard Gill
Since the loophole-free Bell experiments of 2020 and the Nobel prizes in physics of 2022, critics of Bell's work have retreated to the fortress of super-determinism. Now, super-determinism is a derogatory word - it just means "determinism". Palmer, Hance and Hossenfelder argue that quantum mechanics and determinism are not incompatible, using a sophisticated mathematical construction based on a subtle thinning of allowed states and measurements in quantum mechanics, such that what is left appears to make Bell's argument fail, without altering the empirical predictions of quantum mechanics. I think however that it is a smoke screen, and the slogan "lost in math" comes to my mind. I will discuss some other recent disproofs of Bell's theorem using the language of causality based on causal graphs. Causal thinking is also central to law and justice. I will mention surprising connections to my work on serial killer nurse cases, in particular the Dutch case of Lucia de Berk and the current UK case of Lucy Letby.
1. Introduction
Background
Symbolic Execution as DPLL(T )
A lightweight approach for Symbolic Execution
Conclusion
Symbolic Execution as DPLL Modulo Theories
Q. Sang Phan
Queen Mary, University of London
September 25, 2014
1 / 25
2. Introduction
Background
Symbolic Execution as DPLL(T )
A lightweight approach for Symbolic Execution
Conclusion
Outline
1 Introduction
2 Background
3 Symbolic Execution as DPLL(T )
4 A lightweight approach for Symbolic Execution
5 Conclusion
2 / 25
3. Introduction
Background
Symbolic Execution as DPLL(T )
A lightweight approach for Symbolic Execution
Conclusion
Outline
1 Introduction
2 Background
3 Symbolic Execution as DPLL(T )
4 A lightweight approach for Symbolic Execution
5 Conclusion
3 / 25
4. Introduction
Background
Symbolic Execution as DPLL(T )
A lightweight approach for Symbolic Execution
Conclusion
Symbolic Execution
A program analysis technique that has several applications, in particular
automated test generation.
Executing programs with symbols instead of concrete inputs.
4 / 25
5. Introduction
Background
Symbolic Execution as DPLL(T )
A lightweight approach for Symbolic Execution
Conclusion
Symbolic Execution
Academic:
Imperial: KLEE
EPFL: S2E
UC Berkeley: CREST and BitBlaze
UIUC: Cute, jCute
. . .
Industry:
NASA: Symbolic PathFinder
Microsoft: Pex, Sage, Yogi
IBM: Apollo
. . .
5 / 25
12. Introduction
Background
Symbolic Execution as DPLL(T )
A lightweight approach for Symbolic Execution
Conclusion
Symbolic Execution as an SMT solver
Symbolic Execution can be viewed as an SMT solver
7 / 25
13. Introduction
Background
Symbolic Execution as DPLL(T )
A lightweight approach for Symbolic Execution
Conclusion
Outline
1 Introduction
2 Background
3 Symbolic Execution as DPLL(T )
4 A lightweight approach for Symbolic Execution
5 Conclusion
8 / 25
14. Introduction
Background
Symbolic Execution as DPLL(T )
A lightweight approach for Symbolic Execution
Conclusion
DPLL Modulo Theories
The lazy approach for SMT
SMT solver = SAT solver + T -solver
SAT solver: implement DPLL algorithm
T -solver: check satis
16. Introduction
Background
Symbolic Execution as DPLL(T )
A lightweight approach for Symbolic Execution
Conclusion
DPLL Modulo Theories
The lazy approach for SMT
SMT solver = SAT solver + T -solver
SAT solver: implement DPLL algorithm
T -solver: check satis
18. rst search procedure, using three main operations:
decide: choose a literal l from the formula.
propagate: remove all the clauses containing l , and deletes all occurrences of :l
in the formula.
backtrack: if encounter a con
ict.
9 / 25
22. Introduction
Background
Symbolic Execution as DPLL(T )
A lightweight approach for Symbolic Execution
Conclusion
Symbolic Execution
pc ` c : execute the then path
pc ` :c : execute the else path
(pc 0 c) ^ (pc 0 :c): execute both paths
then path: update pc1 = pc ^ c
else path: update pc2 = pc ^ :c
Use SMT solver to check satis
24. Introduction
Background
Symbolic Execution as DPLL(T )
A lightweight approach for Symbolic Execution
Conclusion
Symbolic Execution
pc ` c : execute the then path
pc ` :c : execute the else path
(pc 0 c) ^ (pc 0 :c): execute both paths
then path: update pc1 = pc ^ c
else path: update pc2 = pc ^ :c
Use SMT solver to check satis
25. ability of path
conditions
Observation
SMT solver is used to solve conjunctions of literals ) the SAT solver is not used
12 / 25
26. Introduction
Background
Symbolic Execution as DPLL(T )
A lightweight approach for Symbolic Execution
Conclusion
Implementation of Symbolic Execution
Symbolic Executor = Boolean Executor + T -solver
Boolean Executor: A depth-
27. rst search procedure, using three main operations:
decide: choose a literal from the condition.
update: execute block of code on that path.
backtrack: if reach the leaf of the symbolic execution tree.
13 / 25
28. Introduction
Background
Symbolic Execution as DPLL(T )
A lightweight approach for Symbolic Execution
Conclusion
Outline
1 Introduction
2 Background
3 Symbolic Execution as DPLL(T )
4 A lightweight approach for Symbolic Execution
5 Conclusion
14 / 25
29. Introduction
Background
Symbolic Execution as DPLL(T )
A lightweight approach for Symbolic Execution
Conclusion
Symbolic Transition System
A bounded Static Single Assignment program:
P (S; I ; G;A;T)
S: the set of symbolic states
I S : the set of initial symbolic states
G : the set of guards
A : the set of action
Actions do not update computer memory: presented by Boolean atoms.
Actions update computer memory: presented by T -atoms.
T S G A S: the transition function
15 / 25
30. Introduction
Background
Symbolic Execution as DPLL(T )
A lightweight approach for Symbolic Execution
Conclusion
Program to formula
tij = hsi ; gij ; aij ; sj i 2 T: si ! sj by action aij under guard gij
16 / 25
31. Introduction
Background
Symbolic Execution as DPLL(T )
A lightweight approach for Symbolic Execution
Conclusion
Program to formula
tij = hsi ; gij ; aij ; sj i 2 T: si ! sj by action aij under guard gij
Encode the transition into a formula:
tij gij ! aij or equally tij :gij _ aij
16 / 25
32. Introduction
Background
Symbolic Execution as DPLL(T )
A lightweight approach for Symbolic Execution
Conclusion
Program to formula
tij = hsi ; gij ; aij ; sj i 2 T: si ! sj by action aij under guard gij
Encode the transition into a formula:
tij gij ! aij or equally tij :gij _ aij
A program trace:
t01 ^ t12 ^ ^ t(k1)k = (:g01 _ a01) ^ (:g12 _ a12) ^ (:g(k1)k _ a(k1)k )
16 / 25
33. Introduction
Background
Symbolic Execution as DPLL(T )
A lightweight approach for Symbolic Execution
Conclusion
Program to formula
tij = hsi ; gij ; aij ; sj i 2 T: si ! sj by action aij under guard gij
Encode the transition into a formula:
tij gij ! aij or equally tij :gij _ aij
A program trace:
t01 ^ t12 ^ ^ t(k1)k = (:g01 _ a01) ^ (:g12 _ a12) ^ (:g(k1)k _ a(k1)k )
Program semantics: all possible traces
' =
^
tij2T
tij =
^
tij2T
(:gij _ aij )
16 / 25
34. Introduction
Background
Symbolic Execution as DPLL(T )
A lightweight approach for Symbolic Execution
Conclusion
Symbolic Transition System: Example
void test ( int x, int y){
if(x 5){
x ++;
if (x 3)
x --;
else
y = x + 1;
}
}
s0
x0 5
T1
s1 s2
s3
s4 s5
s6 s7
¬(x0 5)
T2
x0 5
x1 = x0 + 1
x1 3
T3
¬(x1 3)
T4
x1 3 ¬(x1 3)
x2 = x1 − 1 y1 = x1 + 1
17 / 25
36. Introduction
Background
Symbolic Execution as DPLL(T )
A lightweight approach for Symbolic Execution
Conclusion
Symbolic Execution vs SMT solver
Symbolic Execution
Symbolic Executor = Boolean Executor + T -solver
Boolean Executor: a depth-
37. rst search procedure, using three main operations:
decide, update, backtrack
SMT solver
SMT solver = SAT solver + T -solver
DPLL-based SAT solver: a depth-
38. rst search procedure, using three main operations:
decide, propagate, backtrack
18 / 25
39. Introduction
Background
Symbolic Execution as DPLL(T )
A lightweight approach for Symbolic Execution
Conclusion
Outline
1 Introduction
2 Background
3 Symbolic Execution as DPLL(T )
4 A lightweight approach for Symbolic Execution
5 Conclusion
19 / 25
40. Introduction
Background
Symbolic Execution as DPLL(T )
A lightweight approach for Symbolic Execution
Conclusion
Symbolic Execution vs SMT solver
Symbolic Execution returns all symbolic path.
SMT solvers return only one model.
! Use an SMT solver that can return all models for Symbolic Execution
! The only SMT solver known to generate all models: MathSAT
20 / 25
43. Introduction
Background
Symbolic Execution as DPLL(T )
A lightweight approach for Symbolic Execution
Conclusion
Outline
1 Introduction
2 Background
3 Symbolic Execution as DPLL(T )
4 A lightweight approach for Symbolic Execution
5 Conclusion
23 / 25
44. Introduction
Background
Symbolic Execution as DPLL(T )
A lightweight approach for Symbolic Execution
Conclusion
Conclusion
Symbolic Execution can be viewed as an SMT solver
Exploit techniques developed for Symbolic Execution to SMT.
Exploit techniques developed for SMT for Symbolic Execution.
A lightweight approach for Symbolic Execution based on All-SMT solver
24 / 25
45. Introduction
Background
Symbolic Execution as DPLL(T )
A lightweight approach for Symbolic Execution
Conclusion
THANK YOU FOR YOUR ATTENTION!
25 / 25