Netbeans Eclipse Qt Java
College of Engineering Aeronautics and Astronautics Agricultural and Biological Engineering Biomedical Engineering Chemical Engineering Civil Engineering Construction Engineering and Management Electrical and Computer Engineering Engineering Education Engineering Professional Education Environmental and Ecological Engineering Industrial Engineering Materials Engineering Mechanical Engineering Nuclear Engineering
EPICS (Engineering Projects In Community Service) First-Year Engineering Program First-Year Engineering Honors Program Global Engineering Program Minority Engineering Program Professional Practice (Co-Op) Program Women in Engineering Program
College Administration Schools Programs All Groups All People ECN Webmail
Purdue Home

Lab 10 Profile and Coverage

Summary: Report performance profile and test coverage in a programming assignment.


  1. Choose one of the four assignments you have submitted (any IPA or GPA you have finished).
  2. Use tools to find the performance profile and test coverage of the assignment.

Java: Use Netbeans to find the profile and coverage, as explained in lectures on 10/20 and 11/05

C++: Add "-p" in Makefile to profile the program, as explained in lecture 10/20. For coverage, follow the lecture on 11/10:

  1. add "-fprofile-arcs -ftest-coverage" as g++ flags.
  2. execute the program.
  3. run "gcov" with the source code of the program.


  1. List the top 10 functions that take the most amounts of time. Also include the percentages of time spent on each function.
  2. List all functions (if any) that have not been tested and briefly explain the reasons. If all functions have been tested, briefly explain why your test can achieve the coverage.

Tools: You are not restricted to use Netbeans or g++.  You can use other tools.  Please explain which tools you use and the procedure to reproduce the results.