SlideShare a Scribd company logo
Levels of Program Correctness
19CSE205 : PROGRAM REASONING
Dr. Chandan Kumar & Mr. Hajarathaiah K.
Department of Computer Science and Engineering
Jul - Dec 2023
Chandan Kumar & Hajarathaiah K. 19CSE205 : PROGRAM REASONING Jul - Dec 2023 1/ 10
Contents
1 Classifying correctness
2 Examples of error types
3 Role of static analyzers
4 Lexical correctness
5 Syntax correctness
6 Semantic correctness
7 Logic correctness
8 Focus of this course
Chandan Kumar & Hajarathaiah K. 19CSE205 : PROGRAM REASONING Jul - Dec 2023 2/ 10
Classifying correctness
Correctness is a relative term. It indicates absence of errors in programs.
Based on the types of errors in a program, correctness can be classifed into
following levels.
Lexical
correctness
Syntax
correctness
Semantic
correctness
Logic
correctness
1 Lexical correctness refers to well-formedness of individual words in a
program.
Syntax correctness refers to well-formedness of each statement in a
program.
Semantic correctness refers to meaningfulness between different part
of code or environment.
Logic correctness refers to correctness with respect to program’s
goal/objective.
2
3
4
Chandan Kumar & Hajarathaiah K. 19CSE205 : PROGRAM REASONING Jul - Dec 2023 3/ 10
Examples of error types
(The examples are based on C programming language context)
Examples
23ab
$?
Lexical errors
An ill-formed word/lexeme
The compiler catches them
Syntax errors
An ill-formed statement
The compiler catches them
a + b = c;
if (a = = b) else a = b;
Semantic errors
An action out of context
The compiler may catch them
int x; ...... x = ”hello”;
int * p; *p = 5;
FILE * f = fopen(”ab.c”,”w”);
Or result in runtime error Note: ab.c may not exist
Chandan Kumar & Hajarathaiah K. 19CSE205 : PROGRAM REASONING Jul - Dec 2023 4/ 10
Role of static analyzers
Static analysis refers to the process of analyzing source code to derive
variety of useful information. In this case, we are interested in
ascertaining the correctness.
The program is first turned into one or more data structure(s) and
analysis is carried out.
Data structures employed are some form or variants of
Stack
Tree
Graph
Dictionary
Static analyzers are usually automated. It takes the program source
as input and spits out the inferences.
A compiler is a good example of static analyzer.
We will look briefly at how compilers catch these errors.
Chandan Kumar & Hajarathaiah K. 19CSE205 : PROGRAM REASONING Jul - Dec 2023 5/ 10
5/ 10
Lexical correctness
Lexical correctness is accomplished by a graph, known as finite state
automaton, which attempts to recognize each lexeme of the program,
one by one, based on its structure.
If recognized, the lexeme is classified.
If not, compiler flags an error.
area = breadth * height / 2;
1 2
4
3 5
a-z|
a-z| |0-9
0-9
0-9
.
0-9
0-9
Lexeme Token
area IDENTIFIER
= ASSIGN
breadth IDENTIFIER
* MULT
height IDENTIFIER
/ DIV
2 INT CONST
; SEMI
Chandan Kumar & Hajarathaiah K. 19CSE205 : PROGRAM REASONING Jul - Dec 2023 6/ 10
Syntax correctness
Syntax correctness is accomplished by representing the lexicalized
source code in the form of a tree, known as parse tree, and checking
if it adheres to syntax specifications of the language.
program
statement
← statement*
← declaration
| assignment
| . . .
declaration ← TYPE ID
(COMMA ID)*
SEMI
← ID ASSIGN
expr SEMI
← ID (op expr)*
← PLUS
| MINUS
assignment
expr
op
| MULT
| DIV
int x, y; y = x + 23.65;
Chandan Kumar & Hajarathaiah K. 19CSE205 : PROGRAM REASONING Jul - Dec 2023 7/ 10
Semantic correctness
Semantic correctness is accomplished by (i) a tree, known as Abstract
Syntax Tree (AST) and (ii) a look-up table, known as Symbol Table.
AST is a simplified version of parse tree.
Compilers can ascertain only
Sample program
int x, y;
y = x * 2;
x is not
initialized.
So y cannot be
computed.
Assume default
value or flag
error/warning.
Abstract Syntax Tree
Symbol table
var type value
x int ?
y int ?
partial semantic correctness.
Type mismatch
Undeclared variable
Uninitialized variable
Function call & definition
signature mistmatch
Other errors slip into runtime.
Division-by-zero
Memory faults
File exceptions
Use exception handling feature!
Chandan Kumar & Hajarathaiah K. 19CSE205 : PROGRAM REASONING Jul - Dec 2023 8/ 10
Logic correctness
Logic correctness implies program exhibits ”correct” functionality or
behavior.
Errors in program logic does not result in compile time or runtime
errors usually.
An example: Computing factorial
int factorial(int n) {
int fact = 1;
for (int i=2; i<=n; i++)
fact = fact + i;
return fact;
}
What is the flaw in
this logic?
There are million things that could go wrong in program logic!
Chandan Kumar & Hajarathaiah K. 19CSE205 : PROGRAM REASONING Jul - Dec 2020 9/ 10
Jul - Dec 2023 9/ 10
Focus of this course
Are we interested in
lexical correctness? NO Compilers are good at this!
Are we interested in
syntax correctness? NO Compilers are good at this!
Are we interested in
semantic correctness? YES To a limited extent.
Are we interested in
logic correctness? YES Main focus of this course!
Chandan Kumar & Hajarathaiah K. 19CSE205 : PROGRAM REASONING Jul - Dec 2020 10 / 10
Jul - Dec 2023 10 / 10

More Related Content

Similar to Level of Program Correctness_Program_Reasoning.pptx

Crosscutting Specification Interference Detection at Aspect Oriented UML-Base...
Crosscutting Specification Interference Detection at Aspect Oriented UML-Base...Crosscutting Specification Interference Detection at Aspect Oriented UML-Base...
Crosscutting Specification Interference Detection at Aspect Oriented UML-Base...
IJERA Editor
 
PRELIM-Lesson-2.pdf
PRELIM-Lesson-2.pdfPRELIM-Lesson-2.pdf
PRELIM-Lesson-2.pdf
jaymaraltamera
 
Compiler Design lab manual for Computer Engineering .pdf
Compiler Design lab manual for Computer Engineering .pdfCompiler Design lab manual for Computer Engineering .pdf
Compiler Design lab manual for Computer Engineering .pdf
kalpana Manudhane
 
Introduction to algorithms
Introduction to algorithmsIntroduction to algorithms
Introduction to algorithms
subhashchandra197
 
La5 Basicelement
La5 BasicelementLa5 Basicelement
La5 BasicelementCma Mohd
 
Project 2 the second project involves/tutorialoutlet
Project 2 the second project involves/tutorialoutletProject 2 the second project involves/tutorialoutlet
Project 2 the second project involves/tutorialoutlet
Messanz
 
1588147798Begining_ABUAD1.pdf
1588147798Begining_ABUAD1.pdf1588147798Begining_ABUAD1.pdf
1588147798Begining_ABUAD1.pdf
SemsemSameer1
 
A Platform for Application Risk Intelligence
A Platform for Application Risk IntelligenceA Platform for Application Risk Intelligence
A Platform for Application Risk Intelligence
Checkmarx
 
Software estimation techniques
Software estimation techniquesSoftware estimation techniques
Software estimation techniquesTan Tran
 
Chapter 2
Chapter 2Chapter 2
Chapter 2
enidegmossu
 
Aspect Oriented Programming Through C#.NET
Aspect Oriented Programming Through C#.NETAspect Oriented Programming Through C#.NET
Aspect Oriented Programming Through C#.NET
Waqas Tariq
 
Plagiarism introduction
Plagiarism introductionPlagiarism introduction
Plagiarism introductionMerin Paul
 
Book management system
Book management systemBook management system
Book management system
SHARDA SHARAN
 
Bt0066 database management system2
Bt0066 database management system2Bt0066 database management system2
Bt0066 database management system2
Techglyphs
 
Compiler Design
Compiler DesignCompiler Design
Compiler Design
Dr. Jaydeep Patil
 
Compiler Design Using Context-Free Grammar
Compiler Design Using Context-Free GrammarCompiler Design Using Context-Free Grammar
Compiler Design Using Context-Free Grammar
IRJET Journal
 
Program logic and design
Program logic and designProgram logic and design
Program logic and designChaffey College
 

Similar to Level of Program Correctness_Program_Reasoning.pptx (20)

Crosscutting Specification Interference Detection at Aspect Oriented UML-Base...
Crosscutting Specification Interference Detection at Aspect Oriented UML-Base...Crosscutting Specification Interference Detection at Aspect Oriented UML-Base...
Crosscutting Specification Interference Detection at Aspect Oriented UML-Base...
 
PRELIM-Lesson-2.pdf
PRELIM-Lesson-2.pdfPRELIM-Lesson-2.pdf
PRELIM-Lesson-2.pdf
 
Compiler Design lab manual for Computer Engineering .pdf
Compiler Design lab manual for Computer Engineering .pdfCompiler Design lab manual for Computer Engineering .pdf
Compiler Design lab manual for Computer Engineering .pdf
 
Introduction to algorithms
Introduction to algorithmsIntroduction to algorithms
Introduction to algorithms
 
La5 Basicelement
La5 BasicelementLa5 Basicelement
La5 Basicelement
 
Project 2 the second project involves/tutorialoutlet
Project 2 the second project involves/tutorialoutletProject 2 the second project involves/tutorialoutlet
Project 2 the second project involves/tutorialoutlet
 
How a Compiler Works ?
How a Compiler Works ?How a Compiler Works ?
How a Compiler Works ?
 
1588147798Begining_ABUAD1.pdf
1588147798Begining_ABUAD1.pdf1588147798Begining_ABUAD1.pdf
1588147798Begining_ABUAD1.pdf
 
A Platform for Application Risk Intelligence
A Platform for Application Risk IntelligenceA Platform for Application Risk Intelligence
A Platform for Application Risk Intelligence
 
Software estimation techniques
Software estimation techniquesSoftware estimation techniques
Software estimation techniques
 
Chapter 2
Chapter 2Chapter 2
Chapter 2
 
Aspect Oriented Programming Through C#.NET
Aspect Oriented Programming Through C#.NETAspect Oriented Programming Through C#.NET
Aspect Oriented Programming Through C#.NET
 
Training 8051Report
Training 8051ReportTraining 8051Report
Training 8051Report
 
Plagiarism introduction
Plagiarism introductionPlagiarism introduction
Plagiarism introduction
 
Book management system
Book management systemBook management system
Book management system
 
Bt0066 database management system2
Bt0066 database management system2Bt0066 database management system2
Bt0066 database management system2
 
Compiler Design
Compiler DesignCompiler Design
Compiler Design
 
3.2
3.23.2
3.2
 
Compiler Design Using Context-Free Grammar
Compiler Design Using Context-Free GrammarCompiler Design Using Context-Free Grammar
Compiler Design Using Context-Free Grammar
 
Program logic and design
Program logic and designProgram logic and design
Program logic and design
 

Recently uploaded

HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
Robbie Edward Sayers
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
Pratik Pawar
 
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Teleport Manpower Consultant
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
seandesed
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
Kamal Acharya
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
TeeVichai
 
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
SamSarthak3
 
ethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.pptethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.ppt
Jayaprasanna4
 
Gen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdfGen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdf
gdsczhcet
 
Standard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - NeometrixStandard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - Neometrix
Neometrix_Engineering_Pvt_Ltd
 
The role of big data in decision making.
The role of big data in decision making.The role of big data in decision making.
The role of big data in decision making.
ankuprajapati0525
 
Automobile Management System Project Report.pdf
Automobile Management System Project Report.pdfAutomobile Management System Project Report.pdf
Automobile Management System Project Report.pdf
Kamal Acharya
 
Event Management System Vb Net Project Report.pdf
Event Management System Vb Net  Project Report.pdfEvent Management System Vb Net  Project Report.pdf
Event Management System Vb Net Project Report.pdf
Kamal Acharya
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
R&R Consult
 
Courier management system project report.pdf
Courier management system project report.pdfCourier management system project report.pdf
Courier management system project report.pdf
Kamal Acharya
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
bakpo1
 
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdfCOLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
Kamal Acharya
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
ViniHema
 
addressing modes in computer architecture
addressing modes  in computer architectureaddressing modes  in computer architecture
addressing modes in computer architecture
ShahidSultan24
 
ASME IX(9) 2007 Full Version .pdf
ASME IX(9)  2007 Full Version       .pdfASME IX(9)  2007 Full Version       .pdf
ASME IX(9) 2007 Full Version .pdf
AhmedHussein950959
 

Recently uploaded (20)

HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
 
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
 
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
 
ethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.pptethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.ppt
 
Gen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdfGen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdf
 
Standard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - NeometrixStandard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - Neometrix
 
The role of big data in decision making.
The role of big data in decision making.The role of big data in decision making.
The role of big data in decision making.
 
Automobile Management System Project Report.pdf
Automobile Management System Project Report.pdfAutomobile Management System Project Report.pdf
Automobile Management System Project Report.pdf
 
Event Management System Vb Net Project Report.pdf
Event Management System Vb Net  Project Report.pdfEvent Management System Vb Net  Project Report.pdf
Event Management System Vb Net Project Report.pdf
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
 
Courier management system project report.pdf
Courier management system project report.pdfCourier management system project report.pdf
Courier management system project report.pdf
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
 
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdfCOLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
 
addressing modes in computer architecture
addressing modes  in computer architectureaddressing modes  in computer architecture
addressing modes in computer architecture
 
ASME IX(9) 2007 Full Version .pdf
ASME IX(9)  2007 Full Version       .pdfASME IX(9)  2007 Full Version       .pdf
ASME IX(9) 2007 Full Version .pdf
 

Level of Program Correctness_Program_Reasoning.pptx

  • 1. Levels of Program Correctness 19CSE205 : PROGRAM REASONING Dr. Chandan Kumar & Mr. Hajarathaiah K. Department of Computer Science and Engineering Jul - Dec 2023 Chandan Kumar & Hajarathaiah K. 19CSE205 : PROGRAM REASONING Jul - Dec 2023 1/ 10
  • 2. Contents 1 Classifying correctness 2 Examples of error types 3 Role of static analyzers 4 Lexical correctness 5 Syntax correctness 6 Semantic correctness 7 Logic correctness 8 Focus of this course Chandan Kumar & Hajarathaiah K. 19CSE205 : PROGRAM REASONING Jul - Dec 2023 2/ 10
  • 3. Classifying correctness Correctness is a relative term. It indicates absence of errors in programs. Based on the types of errors in a program, correctness can be classifed into following levels. Lexical correctness Syntax correctness Semantic correctness Logic correctness 1 Lexical correctness refers to well-formedness of individual words in a program. Syntax correctness refers to well-formedness of each statement in a program. Semantic correctness refers to meaningfulness between different part of code or environment. Logic correctness refers to correctness with respect to program’s goal/objective. 2 3 4 Chandan Kumar & Hajarathaiah K. 19CSE205 : PROGRAM REASONING Jul - Dec 2023 3/ 10
  • 4. Examples of error types (The examples are based on C programming language context) Examples 23ab $? Lexical errors An ill-formed word/lexeme The compiler catches them Syntax errors An ill-formed statement The compiler catches them a + b = c; if (a = = b) else a = b; Semantic errors An action out of context The compiler may catch them int x; ...... x = ”hello”; int * p; *p = 5; FILE * f = fopen(”ab.c”,”w”); Or result in runtime error Note: ab.c may not exist Chandan Kumar & Hajarathaiah K. 19CSE205 : PROGRAM REASONING Jul - Dec 2023 4/ 10
  • 5. Role of static analyzers Static analysis refers to the process of analyzing source code to derive variety of useful information. In this case, we are interested in ascertaining the correctness. The program is first turned into one or more data structure(s) and analysis is carried out. Data structures employed are some form or variants of Stack Tree Graph Dictionary Static analyzers are usually automated. It takes the program source as input and spits out the inferences. A compiler is a good example of static analyzer. We will look briefly at how compilers catch these errors. Chandan Kumar & Hajarathaiah K. 19CSE205 : PROGRAM REASONING Jul - Dec 2023 5/ 10 5/ 10
  • 6. Lexical correctness Lexical correctness is accomplished by a graph, known as finite state automaton, which attempts to recognize each lexeme of the program, one by one, based on its structure. If recognized, the lexeme is classified. If not, compiler flags an error. area = breadth * height / 2; 1 2 4 3 5 a-z| a-z| |0-9 0-9 0-9 . 0-9 0-9 Lexeme Token area IDENTIFIER = ASSIGN breadth IDENTIFIER * MULT height IDENTIFIER / DIV 2 INT CONST ; SEMI Chandan Kumar & Hajarathaiah K. 19CSE205 : PROGRAM REASONING Jul - Dec 2023 6/ 10
  • 7. Syntax correctness Syntax correctness is accomplished by representing the lexicalized source code in the form of a tree, known as parse tree, and checking if it adheres to syntax specifications of the language. program statement ← statement* ← declaration | assignment | . . . declaration ← TYPE ID (COMMA ID)* SEMI ← ID ASSIGN expr SEMI ← ID (op expr)* ← PLUS | MINUS assignment expr op | MULT | DIV int x, y; y = x + 23.65; Chandan Kumar & Hajarathaiah K. 19CSE205 : PROGRAM REASONING Jul - Dec 2023 7/ 10
  • 8. Semantic correctness Semantic correctness is accomplished by (i) a tree, known as Abstract Syntax Tree (AST) and (ii) a look-up table, known as Symbol Table. AST is a simplified version of parse tree. Compilers can ascertain only Sample program int x, y; y = x * 2; x is not initialized. So y cannot be computed. Assume default value or flag error/warning. Abstract Syntax Tree Symbol table var type value x int ? y int ? partial semantic correctness. Type mismatch Undeclared variable Uninitialized variable Function call & definition signature mistmatch Other errors slip into runtime. Division-by-zero Memory faults File exceptions Use exception handling feature! Chandan Kumar & Hajarathaiah K. 19CSE205 : PROGRAM REASONING Jul - Dec 2023 8/ 10
  • 9. Logic correctness Logic correctness implies program exhibits ”correct” functionality or behavior. Errors in program logic does not result in compile time or runtime errors usually. An example: Computing factorial int factorial(int n) { int fact = 1; for (int i=2; i<=n; i++) fact = fact + i; return fact; } What is the flaw in this logic? There are million things that could go wrong in program logic! Chandan Kumar & Hajarathaiah K. 19CSE205 : PROGRAM REASONING Jul - Dec 2020 9/ 10 Jul - Dec 2023 9/ 10
  • 10. Focus of this course Are we interested in lexical correctness? NO Compilers are good at this! Are we interested in syntax correctness? NO Compilers are good at this! Are we interested in semantic correctness? YES To a limited extent. Are we interested in logic correctness? YES Main focus of this course! Chandan Kumar & Hajarathaiah K. 19CSE205 : PROGRAM REASONING Jul - Dec 2020 10 / 10 Jul - Dec 2023 10 / 10