Shamil’s Flow Table (SFT) – Representing Program Flow

By: Prof. Fazal Rehman Shamil
Last modified on April 16th, 2021

Shamil’s Flow Table (SFT) – Representing Program Flow

There are different methods of representing a program for understanding the program. Pseudocode and algorithms before writing the source code are very helpful for writing the program. If I remember my university life, I can feel the pain of understanding the complex flow of the programs, especially when loops and conditional statements were used. The flowchart was very helpful in understanding the program basic flow. But unfortunately, as a beginner student, every student needs a more detailed view of understanding the program flow. This problem is solved by Shamil’s Flow Table (SFT). SFT is very beneficial for beginner programs to understand how the program works.

What is Shamil’s Program Flow Table (SFT)?

In 2017, Fazal Rehman Shamil Proposed the SFT.

SFT is the artificial representation of the program flow and in this representation, we represent the flow of the program by keeping in view the line number of the written program.

Special precautions 

you need some special precautions while writing the SFT. For example, if you add some new line of code in your program, then you must change SFT accordingly.

Components of SFT

The scenario of program

Pre-line and post-line are the two major components of the SFT. Let’s see both of these two components briefly.

  1. scenario of program

Each row of SFT represents one possible scenario of the program.

  1. Pre-line and post-line

Line number mentioned on the left side always considered as Pre-line and line number mentioned on the right side of Pre-line always considered as Post-line.

let’s see an example,

Suppose the following table has three lines of code, line number 3, line number 8, and line number 9.


c++ palindrome program without arrays
SPFT Shamil Program-Flow-Table-

in this case,  3 is the Pre-line to 8,  8 is post-line to 3, similarly, 8 is pre-line to  9, and 9 is post-line to 8.

Shortcomings of SFT

If you update your program with some new lines of code,  the representation of program flow also changes accordingly.

Advantages of SFT

It is very beneficial for beginner programmers,  especially for the students who want to learn the programming basics.

It also covers the decision coverage criteria and condition coverage criteria.

A flowchart is the Abstract representation of the program but SFT is the detailed representation of the program, keeping in view the different kinds of inputs to the program.

SFT Example for the if-else statement

Logic and explanation of an if-else Program to find the greater number among three numbers

SFT Example for the switch statement

Explained program of angles of a triangle is valid or not

SFT Example for the for loop

Shamil's Program Flow Table for Factorial of a number

Examples of SFT

  1. SFT Examples of programs with if-else statements
  2. SFT Examples of programs with Switch statements
  3. SFT Examples of programs with Loop

Video Lecture

shamil memory table

Prof. Fazal Rehman Shamil