1. A method for facilitating verification of a program code implementing a Sleep Wakeup protocol for a micro-controller, the method performed by at least one processor and comprising: receiving metadata from a user, wherein the metadata is required for verification of the program code, and wherein the metadata comprises: a location of a plurality of program points in the program code, each program point of the plurality of program points corresponding to at least one of a start of a Background job, a Sleep operation, and a Wakeup operation in the program code; an initial interrupt protection status (IPS) at the start of the program code; interrupt functions for at least one of enabling and disabling the interrupts; and task functions for at least one of enabling and disabling task switching; computing for each program point: an actual IPS based on the initial IPS and calls to the interrupt functions; a task lock status (TLS) based on calls to the task functions; path entities comprising at least one of a conditional statement and a function call point; and shared variables; determining transition paths between the plurality of program points in terms of the path entities; computing review information for each set of path entities based on the actual IPS, the TLS, and the shared variables; and generating a report for the user in a pre-defined format, wherein the report comprises information relating to the transition paths and the review information, and wherein the report facilitates the user to verify the program code.