Every software Industry requires the quality of code. Formal specifications can help with program testing, optimization, reface, documentation, and, great significance debugging and restore however, they are difficult to do manually, and automatic mining techniques suffer from 90-99% false positive rates. To address those problems this project proposes to temporal-property miner by incorporating code quality metrics. This measure code quality by extracting additional information from the software engineering process, and using this information from code that is more equal to be correct as well as code that is less equal to be correct. When used as a preliminary processing step for an existing specification miner, project technique identifies which input is most correct program, the same number of specifications using only 45% of their original input. As a novel inference technique, this approach has few false positives in practice (63% when balancing precision and recall, 3% when focused on precision), even though finding useful specifications (e.g. find many bugs) on over 1.5 million lines of code.
Read full abstract