Download now Free registration required
Static profiling refers to producing estimates of execution likelihoods or frequencies based on source code analysis. Static profiling is used when one wants to calculate the cost/benefit ratios for some of the compiler optimizations. This paper studies the advantages of using complex analysis techniques to compute execution likelihoods that depends on a control flow graph and heuristic branch prediction. This paper also looks at applying static profiles to prioritize the results of automatic code inspections. When it comes to automatic code inspection, a tool statically analyzes code and looks for constructs considered fault prone. These tools can run early in the development phase, when costs of controlling defects can be controlled. This research is based in the context of the TRADER1 and the work is undertaken in the Software Evolution Research Lab at Delft University of Technology. Automatic code inspection within NXP has earlier shown that these tools produce too many warnings to make direct use feasible. The TRADER research focuses on defects that visibly disrupt the behavior of the system. This paper looks at a prioritization scheme that takes the developer to these defects. This paper points out that dynamic execution profiles are more accurate than static profiles and have the ability to make a logical choice. But the analysis is less suitable for this paper because the embedded (soft-)real time nature of the applications makes it difficult to capture dynamic information without influencing system behavior.
- Format: PDF
- Size: 224.3 KB