1. A method comprising: monitoring over time, actions carried out by at least one programmer over a software development environment to yield development patterns; comparing the development patterns to best practice rules to yield comparison results indicating deviations of the development patterns from the best practice rules; and analyzing the comparison results based at least partially on a likelihood of each action deviated from the respective best practice rule to result in a software bug, to yield an analysis of potential software bug-prone code sections, wherein at least one of the monitoring, the comparing, and the analyzing is executed by at least one processor.