A processor implemented method for grouping of properties of source code and verifying groups of related properties of the source code, wherein the method comprises: receiving, by the processor, a source code for verifying properties, wherein the source code annotated with a plurality of properties corresponding to assertions to be grouped, wherein the plurality of properties are defined by a user; analyzing, by the processor, the source code to merge the plurality of properties into a plurality of groups based on a grouping technique, wherein one or more properties grouped under each group among the plurality of groups wherein the grouping technique comprises one of a slice subsumption grouping technique that computes backward slice for each property among the plurality of properties, a data flow dependence grouping technique that computes a transitive data flow dependency for a variable of the source code and a data and control flow dependence grouping technique that identifies and computes a transitive control flow dependency of the properties in each group formed by the data flow dependence, wherein the grouping techniques creates disjoint group; selecting by the processor, properties within each function among plurality of functions of the source code using a localizer to create plurality of groups of properties based on their slice dependencies, data flow dependencies and data and control flow dependencies; creating, by the processor, a slice for each group among the plurality of groups; verifying, by the processor, each slice created for each group, wherein the verification of the one or more properties within each group is performed simultaneously; plugging in, by the processor the method for verifying properties of source code into plurality of property verification frameworks for verifying groups of related properties of software language source code annotated with assertions for grouping; and providing, by the processor, the user to select at least one grouping technique which invokes grouping algorithm iteratively until disjoint groups are generated. receiving, by the processor, a source code for verifying properties, wherein the source code annotated with a plurality of properties corresponding to assertions to be grouped, wherein the plurality of properties are defined by a user; analyzing, by the processor, the source code to merge the plurality of properties into a plurality of groups based on a grouping technique, wherein one or more properties grouped under each group among the plurality of groups wherein the grouping technique comprises one of a slice subsumption grouping technique that computes backward slice for each property among the plurality of properties, a data flow dependence grouping technique that computes a transitive data flow dependency for a variable of the source code and a data and control flow dependence grouping technique that identifies and computes a transitive control flow dependency of the properties in each group formed by the data flow dependence, wherein the grouping techniques creates disjoint group; selecting by the processor, properties within each function among plurality of functions of the source code using a localizer to create plurality of groups of properties based on their slice dependencies, data flow dependencies and data and control flow dependencies; creating, by the processor, a slice for each group among the plurality of groups; verifying, by the processor, each slice created for each group, wherein the verification of the one or more properties within each group is performed simultaneously; plugging in, by the processor the method for verifying properties of source code into plurality of property verification frameworks for verifying groups of related properties of software language source code annotated with assertions for grouping; and providing, by the processor, the user to select at least one grouping technique which invokes grouping algorithm iteratively until disjoint groups are generated.