SlideShare a Scribd company logo
1 of 11
By
G.Gowrilatha,MSc(info Tech)
Department Of CS& IT
Nadar Saraswathi College Of Arts And Science,
Theni
Static analysis & Symbolic
execution
1.Static analysis is A technique for assessing the structural
characteristics of source code, or any notational representation that
conforms to well-defined syntactic rules.
2.The present discussion is restricted to static analysis of source
code.
3.Static analysis can be performed manually using walkthrough or
inspection techniques; however, the term "static analysis" is most
often used to a program structure by an automated tool (RAM75,
MIL75,, FOS76, SOF80, GRC83).
4.A static analyzer will typically construct A symbol table and A
graph of control flow for each subprogram, as well as A call graph
for the entire program.
Static analysis
4.The symbol table contains information about each variable: its type
attributes, the statement where declared, statements where set to A
new value, and statements where used to provide values.
5.The nodes in a control-flow graph correspond to basic blocks of
source code, and the arcs represent possible transfers of control
between blocks.
6.A basic block of source code has the property that if the first
statement in the block is executed, every statement in the block will
be executed.
7.A control-flow graph and a symbol table that contains, for each
variable in a subprogram, the statement numbers where the variables
are declared, set, and used, a static analyzer can determine data flow
information.
Static analyzers typically produce lists of errors, questionable
coding practices.
Start
READY
Y<0
XX+Y XY
STOP…..
…...
READY
IF Y < 0 then
X <- X + Y;
else
X <- Y; STOP
end if;
…….
…….
 such as uninitialized variables (on some control paths or on all
paths), variables that are declared but never used, and variables
that are set but not subsequently used (on some paths on all
paths).
A variable that is set but not used on any subsequent control
path, or a variable that is declared but never used, is not an error,
but it is an anomaly that may be symptomatic of an error.
Departures from coding standards, such as using non-ansi
FORTRAN constructs, backward GOTO transfers of control, or
jumps into loop bodies, can also be detected by static analysis.
Symbolic execution is a validation technique in which the input
variables of a program unit are assigned symbolic values rather
than literal values.
A program is analyzed by propagating the symbolic values of
the inputs into the operands in expressions. The resulting symbolic
expressions are simplified at each step in the computation so that
all intermediate computations and decisions are always expressed
in terms of the symbolic inputs.
When that variable is used in subsequent expressions, the
current symbolic value is used. In this manner, all computations
and decisions arc expressed as symbolic values of the inputs.
Symbolic Execution
PROGRAM SYMBOLIC EXECUTION
READ(B,C);
A:=B + C;
X:=A*C;
IF(A <, X) THEN
- - - - - - - - - - - I
- - - - - - - - - - -
ELSE IF (B ;> 1) OR (B <, - 1) THEN
- - - - - - - - - -II
- - - - - - - - - -
ELSE
- - - - - - - - - -III
- - - - - - - - - -
B<-b;C<-c;
B<-b;C<-c;
A<- b+c;
X<- (b+c) *c;
(b+c) < (b+c)*c
(b £ 1) OR (b <, -1)
IF statements can be conjoined to form path conditions that
describe the constraints under which various segments of code will
be executed.
The boundaries between regions I, II, and III as functions of
symbolic input values b and c. Any literal values of b and c chosen
from region I, II, or III will result in execution of code segment I,
II, or III.
Symbolic execution can thus be used to derive path conditions
that can be solved to find input data values that will drive a
program along a particular execution path, provided all predicates
in the corresponding path condition are linear.
I: [(b+.c) < (b+c)*c]
II: [(b+c) > (b + c) *c] AND [(b ;> 1) OR (b <-l)l
III: [(b+c)>(b + c) *c) AND [(-Kb<+1)] Figure
Functions of the symbolic input values. When the predicates are
nonlinear in the input values, the path condition may or may not be
solvable because systems of nonlinear inequalities are in general
unsolvable.
The execution requires a selection of paths that are exercised by a
set of data values. A program, which is executed using actual data,
results in the output of a series of values.
In symbolic execution, the data is replaced by symbolic values
with set of expressions, one expression per output variable.
Thank You

More Related Content

What's hot

Fundamental design concepts
Fundamental design conceptsFundamental design concepts
Fundamental design conceptssrijavel
 
Software requirements specification
Software requirements specificationSoftware requirements specification
Software requirements specificationlavanya marichamy
 
Software Measurement and Metrics.pptx
Software Measurement and Metrics.pptxSoftware Measurement and Metrics.pptx
Software Measurement and Metrics.pptxubaidullah75790
 
source code metrics and other maintenance tools and techniques
source code metrics and other maintenance tools and techniquessource code metrics and other maintenance tools and techniques
source code metrics and other maintenance tools and techniquesSiva Priya
 
Software maintenance Unit5
Software maintenance  Unit5Software maintenance  Unit5
Software maintenance Unit5Mohammad Faizan
 
Requirement specification (SRS)
Requirement specification (SRS)Requirement specification (SRS)
Requirement specification (SRS)kunj desai
 
Phased life cycle model
Phased life cycle modelPhased life cycle model
Phased life cycle modelStephennancy
 
Chapter 13 software testing strategies
Chapter 13 software testing strategiesChapter 13 software testing strategies
Chapter 13 software testing strategiesSHREEHARI WADAWADAGI
 
software cost factor
software cost factorsoftware cost factor
software cost factorAbinaya B
 
Software Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and SpecificationSoftware Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and SpecificationNishu Rastogi
 
Language and Processors for Requirements Specification
Language and Processors for Requirements SpecificationLanguage and Processors for Requirements Specification
Language and Processors for Requirements Specificationkirupasuchi1996
 
Delphi cost estimation model
Delphi cost estimation modelDelphi cost estimation model
Delphi cost estimation modelShashwat Shriparv
 
Planning the development process
Planning the development processPlanning the development process
Planning the development processSiva Priya
 
Quality Concept
Quality ConceptQuality Concept
Quality ConceptAnand Jat
 

What's hot (20)

software design
software designsoftware design
software design
 
Fundamental design concepts
Fundamental design conceptsFundamental design concepts
Fundamental design concepts
 
Software requirements specification
Software requirements specificationSoftware requirements specification
Software requirements specification
 
Software Measurement and Metrics.pptx
Software Measurement and Metrics.pptxSoftware Measurement and Metrics.pptx
Software Measurement and Metrics.pptx
 
source code metrics and other maintenance tools and techniques
source code metrics and other maintenance tools and techniquessource code metrics and other maintenance tools and techniques
source code metrics and other maintenance tools and techniques
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Software maintenance Unit5
Software maintenance  Unit5Software maintenance  Unit5
Software maintenance Unit5
 
Requirement specification (SRS)
Requirement specification (SRS)Requirement specification (SRS)
Requirement specification (SRS)
 
Phased life cycle model
Phased life cycle modelPhased life cycle model
Phased life cycle model
 
Chapter 13 software testing strategies
Chapter 13 software testing strategiesChapter 13 software testing strategies
Chapter 13 software testing strategies
 
Design notation
Design notationDesign notation
Design notation
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Software Quality Metrics
Software Quality MetricsSoftware Quality Metrics
Software Quality Metrics
 
software cost factor
software cost factorsoftware cost factor
software cost factor
 
Software Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and SpecificationSoftware Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and Specification
 
Language and Processors for Requirements Specification
Language and Processors for Requirements SpecificationLanguage and Processors for Requirements Specification
Language and Processors for Requirements Specification
 
Delphi cost estimation model
Delphi cost estimation modelDelphi cost estimation model
Delphi cost estimation model
 
Planning the development process
Planning the development processPlanning the development process
Planning the development process
 
Staffing level estimation
Staffing level estimation Staffing level estimation
Staffing level estimation
 
Quality Concept
Quality ConceptQuality Concept
Quality Concept
 

Similar to Static analysis

7-White Box Testing.ppt
7-White Box Testing.ppt7-White Box Testing.ppt
7-White Box Testing.pptHirenderPal
 
Phases of the Compiler - Systems Programming
Phases of the Compiler - Systems ProgrammingPhases of the Compiler - Systems Programming
Phases of the Compiler - Systems ProgrammingMukesh Tekwani
 
Reverse Engineering automation
Reverse Engineering automationReverse Engineering automation
Reverse Engineering automationPositive Hack Days
 
1588147798Begining_ABUAD1.pdf
1588147798Begining_ABUAD1.pdf1588147798Begining_ABUAD1.pdf
1588147798Begining_ABUAD1.pdfSemsemSameer1
 
systemverilog-interview-questions.docx
systemverilog-interview-questions.docxsystemverilog-interview-questions.docx
systemverilog-interview-questions.docxssuser1c8ca21
 
Introduction to VHDL
Introduction to VHDLIntroduction to VHDL
Introduction to VHDLYaser Kalifa
 
Duplicate Code Detection using Control Statements
Duplicate Code Detection using Control StatementsDuplicate Code Detection using Control Statements
Duplicate Code Detection using Control StatementsEditor IJCATR
 
Duplicate Code Detection using Control Statements
Duplicate Code Detection using Control StatementsDuplicate Code Detection using Control Statements
Duplicate Code Detection using Control StatementsEditor IJCATR
 
Duplicate Code Detection using Control Statements
Duplicate Code Detection using Control StatementsDuplicate Code Detection using Control Statements
Duplicate Code Detection using Control StatementsEditor IJCATR
 
Duplicate Code Detection using Control Statements
Duplicate Code Detection using Control StatementsDuplicate Code Detection using Control Statements
Duplicate Code Detection using Control StatementsEditor IJCATR
 
Control Flow Analysis
Control Flow AnalysisControl Flow Analysis
Control Flow AnalysisEdgar Barbosa
 
Modeling and Simulation of an Active Disturbance Rejection Controller Based o...
Modeling and Simulation of an Active Disturbance Rejection Controller Based o...Modeling and Simulation of an Active Disturbance Rejection Controller Based o...
Modeling and Simulation of an Active Disturbance Rejection Controller Based o...IJRES Journal
 
A novel methodology for test scenario generation based on control flow analys...
A novel methodology for test scenario generation based on control flow analys...A novel methodology for test scenario generation based on control flow analys...
A novel methodology for test scenario generation based on control flow analys...eSAT Publishing House
 
Software Verification, Validation and Testing
Software Verification, Validation and TestingSoftware Verification, Validation and Testing
Software Verification, Validation and TestingDr Sukhpal Singh Gill
 
A practical introduction to hardware software codesign 2e
A practical introduction to hardware software codesign  2eA practical introduction to hardware software codesign  2e
A practical introduction to hardware software codesign 2eSpringer
 
Robot Software Architecture (Mobile Robots)
Robot Software Architecture (Mobile Robots)Robot Software Architecture (Mobile Robots)
Robot Software Architecture (Mobile Robots)Satyanarayana Mekala
 

Similar to Static analysis (20)

7-White Box Testing.ppt
7-White Box Testing.ppt7-White Box Testing.ppt
7-White Box Testing.ppt
 
Phases of the Compiler - Systems Programming
Phases of the Compiler - Systems ProgrammingPhases of the Compiler - Systems Programming
Phases of the Compiler - Systems Programming
 
Reverse Engineering automation
Reverse Engineering automationReverse Engineering automation
Reverse Engineering automation
 
1588147798Begining_ABUAD1.pdf
1588147798Begining_ABUAD1.pdf1588147798Begining_ABUAD1.pdf
1588147798Begining_ABUAD1.pdf
 
As35252256
As35252256As35252256
As35252256
 
systemverilog-interview-questions.docx
systemverilog-interview-questions.docxsystemverilog-interview-questions.docx
systemverilog-interview-questions.docx
 
Introduction to VHDL
Introduction to VHDLIntroduction to VHDL
Introduction to VHDL
 
Duplicate Code Detection using Control Statements
Duplicate Code Detection using Control StatementsDuplicate Code Detection using Control Statements
Duplicate Code Detection using Control Statements
 
Duplicate Code Detection using Control Statements
Duplicate Code Detection using Control StatementsDuplicate Code Detection using Control Statements
Duplicate Code Detection using Control Statements
 
Duplicate Code Detection using Control Statements
Duplicate Code Detection using Control StatementsDuplicate Code Detection using Control Statements
Duplicate Code Detection using Control Statements
 
Duplicate Code Detection using Control Statements
Duplicate Code Detection using Control StatementsDuplicate Code Detection using Control Statements
Duplicate Code Detection using Control Statements
 
Control Flow Analysis
Control Flow AnalysisControl Flow Analysis
Control Flow Analysis
 
Handout#08
Handout#08Handout#08
Handout#08
 
Handout#06
Handout#06Handout#06
Handout#06
 
Modeling and Simulation of an Active Disturbance Rejection Controller Based o...
Modeling and Simulation of an Active Disturbance Rejection Controller Based o...Modeling and Simulation of an Active Disturbance Rejection Controller Based o...
Modeling and Simulation of an Active Disturbance Rejection Controller Based o...
 
Systolic, Transposed & Semi-Parallel Architectures and Programming
Systolic, Transposed & Semi-Parallel Architectures and ProgrammingSystolic, Transposed & Semi-Parallel Architectures and Programming
Systolic, Transposed & Semi-Parallel Architectures and Programming
 
A novel methodology for test scenario generation based on control flow analys...
A novel methodology for test scenario generation based on control flow analys...A novel methodology for test scenario generation based on control flow analys...
A novel methodology for test scenario generation based on control flow analys...
 
Software Verification, Validation and Testing
Software Verification, Validation and TestingSoftware Verification, Validation and Testing
Software Verification, Validation and Testing
 
A practical introduction to hardware software codesign 2e
A practical introduction to hardware software codesign  2eA practical introduction to hardware software codesign  2e
A practical introduction to hardware software codesign 2e
 
Robot Software Architecture (Mobile Robots)
Robot Software Architecture (Mobile Robots)Robot Software Architecture (Mobile Robots)
Robot Software Architecture (Mobile Robots)
 

More from GowriLatha1

Filtering in frequency domain
Filtering in frequency domainFiltering in frequency domain
Filtering in frequency domainGowriLatha1
 
Demand assigned and packet reservation multiple access
Demand assigned and packet reservation multiple accessDemand assigned and packet reservation multiple access
Demand assigned and packet reservation multiple accessGowriLatha1
 
Software engineering
Software engineeringSoftware engineering
Software engineeringGowriLatha1
 
Web services & com+ components
Web services & com+ componentsWeb services & com+ components
Web services & com+ componentsGowriLatha1
 
Comparison with Traditional databases
Comparison with Traditional databasesComparison with Traditional databases
Comparison with Traditional databasesGowriLatha1
 
Comparison with Traditional databases
Comparison with Traditional databasesComparison with Traditional databases
Comparison with Traditional databasesGowriLatha1
 
Inter process communication
Inter process communicationInter process communication
Inter process communicationGowriLatha1
 
computer network
computer networkcomputer network
computer networkGowriLatha1
 
Operating System
Operating SystemOperating System
Operating SystemGowriLatha1
 
Data mining query language
Data mining query languageData mining query language
Data mining query languageGowriLatha1
 
Path &amp; application(ds)2
Path &amp; application(ds)2Path &amp; application(ds)2
Path &amp; application(ds)2GowriLatha1
 

More from GowriLatha1 (20)

Filtering in frequency domain
Filtering in frequency domainFiltering in frequency domain
Filtering in frequency domain
 
Demand assigned and packet reservation multiple access
Demand assigned and packet reservation multiple accessDemand assigned and packet reservation multiple access
Demand assigned and packet reservation multiple access
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Shadow paging
Shadow pagingShadow paging
Shadow paging
 
Multithreading
MultithreadingMultithreading
Multithreading
 
Hive
HiveHive
Hive
 
Web services & com+ components
Web services & com+ componentsWeb services & com+ components
Web services & com+ components
 
Comparison with Traditional databases
Comparison with Traditional databasesComparison with Traditional databases
Comparison with Traditional databases
 
Recovery system
Recovery systemRecovery system
Recovery system
 
Comparison with Traditional databases
Comparison with Traditional databasesComparison with Traditional databases
Comparison with Traditional databases
 
Hema dm
Hema dmHema dm
Hema dm
 
Data reduction
Data reductionData reduction
Data reduction
 
Inter process communication
Inter process communicationInter process communication
Inter process communication
 
computer network
computer networkcomputer network
computer network
 
Operating System
Operating SystemOperating System
Operating System
 
Data mining query language
Data mining query languageData mining query language
Data mining query language
 
Enterprice java
Enterprice javaEnterprice java
Enterprice java
 
Ethernet
EthernetEthernet
Ethernet
 
Java script
Java scriptJava script
Java script
 
Path &amp; application(ds)2
Path &amp; application(ds)2Path &amp; application(ds)2
Path &amp; application(ds)2
 

Recently uploaded

CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,Virag Sontakke
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...jaredbarbolino94
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
Capitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitolTechU
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceSamikshaHamane
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxEyham Joco
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfSumit Tiwari
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Celine George
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Celine George
 
MARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupMARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupJonathanParaisoCruz
 

Recently uploaded (20)

CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
Capitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptx
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in Pharmacovigilance
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptx
 
OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
 
9953330565 Low Rate Call Girls In Rohini Delhi NCR
9953330565 Low Rate Call Girls In Rohini  Delhi NCR9953330565 Low Rate Call Girls In Rohini  Delhi NCR
9953330565 Low Rate Call Girls In Rohini Delhi NCR
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
MARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupMARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized Group
 

Static analysis

  • 1. By G.Gowrilatha,MSc(info Tech) Department Of CS& IT Nadar Saraswathi College Of Arts And Science, Theni Static analysis & Symbolic execution
  • 2. 1.Static analysis is A technique for assessing the structural characteristics of source code, or any notational representation that conforms to well-defined syntactic rules. 2.The present discussion is restricted to static analysis of source code. 3.Static analysis can be performed manually using walkthrough or inspection techniques; however, the term "static analysis" is most often used to a program structure by an automated tool (RAM75, MIL75,, FOS76, SOF80, GRC83). 4.A static analyzer will typically construct A symbol table and A graph of control flow for each subprogram, as well as A call graph for the entire program. Static analysis
  • 3. 4.The symbol table contains information about each variable: its type attributes, the statement where declared, statements where set to A new value, and statements where used to provide values. 5.The nodes in a control-flow graph correspond to basic blocks of source code, and the arcs represent possible transfers of control between blocks. 6.A basic block of source code has the property that if the first statement in the block is executed, every statement in the block will be executed. 7.A control-flow graph and a symbol table that contains, for each variable in a subprogram, the statement numbers where the variables are declared, set, and used, a static analyzer can determine data flow information.
  • 4. Static analyzers typically produce lists of errors, questionable coding practices. Start READY Y<0 XX+Y XY STOP….. …... READY IF Y < 0 then X <- X + Y; else X <- Y; STOP end if; ……. …….
  • 5.  such as uninitialized variables (on some control paths or on all paths), variables that are declared but never used, and variables that are set but not subsequently used (on some paths on all paths). A variable that is set but not used on any subsequent control path, or a variable that is declared but never used, is not an error, but it is an anomaly that may be symptomatic of an error. Departures from coding standards, such as using non-ansi FORTRAN constructs, backward GOTO transfers of control, or jumps into loop bodies, can also be detected by static analysis.
  • 6. Symbolic execution is a validation technique in which the input variables of a program unit are assigned symbolic values rather than literal values. A program is analyzed by propagating the symbolic values of the inputs into the operands in expressions. The resulting symbolic expressions are simplified at each step in the computation so that all intermediate computations and decisions are always expressed in terms of the symbolic inputs. When that variable is used in subsequent expressions, the current symbolic value is used. In this manner, all computations and decisions arc expressed as symbolic values of the inputs. Symbolic Execution
  • 7. PROGRAM SYMBOLIC EXECUTION READ(B,C); A:=B + C; X:=A*C; IF(A <, X) THEN - - - - - - - - - - - I - - - - - - - - - - - ELSE IF (B ;> 1) OR (B <, - 1) THEN - - - - - - - - - -II - - - - - - - - - - ELSE - - - - - - - - - -III - - - - - - - - - - B<-b;C<-c; B<-b;C<-c; A<- b+c; X<- (b+c) *c; (b+c) < (b+c)*c (b £ 1) OR (b <, -1)
  • 8. IF statements can be conjoined to form path conditions that describe the constraints under which various segments of code will be executed. The boundaries between regions I, II, and III as functions of symbolic input values b and c. Any literal values of b and c chosen from region I, II, or III will result in execution of code segment I, II, or III. Symbolic execution can thus be used to derive path conditions that can be solved to find input data values that will drive a program along a particular execution path, provided all predicates in the corresponding path condition are linear.
  • 9. I: [(b+.c) < (b+c)*c] II: [(b+c) > (b + c) *c] AND [(b ;> 1) OR (b <-l)l III: [(b+c)>(b + c) *c) AND [(-Kb<+1)] Figure
  • 10. Functions of the symbolic input values. When the predicates are nonlinear in the input values, the path condition may or may not be solvable because systems of nonlinear inequalities are in general unsolvable. The execution requires a selection of paths that are exercised by a set of data values. A program, which is executed using actual data, results in the output of a series of values. In symbolic execution, the data is replaced by symbolic values with set of expressions, one expression per output variable.