Correctness from software engineering perspective can be defined as the adherence to the specifications that determine how users can interact with the software and how the software should behave when it is used correctly.
If the software behaves incorrectly, it might take considerable amount of time to achieve the task or sometimes it is impossible to achieve it.
Below are some of the important rules for effective programming which are consequences of the program correctness theory.
Defining the problem completely.
Develop the algorithm and then the program logic.
Reuse the proved models as much as possible.
Prove the correctness of algorithms during the design phase.
Developers should pay attention to the clarity and simplicity of your program.
Verifying each part of a program as soon as it is developed.