Analysis results

These results were produced by running analyse3.erl.

I have analysed 41177 functions in 2824 modules, here are the most called functions:

52% of the modules in kernel and stdlib were not used:

application_controller application_master application_starter beam_lib bplus_tree code_aux code_server dets_server dets_utils dets_v8 dets_v9 digraph_utils disk_log_1 disk_log_server disk_log_sup dist_ac dist_util erl_atom_cache erl_bits erl_boot_server erl_compile erl_ddll erl_distribution erl_epmd erl_external erl_id_trans erl_reply error_handler error_logger_file_h error_logger_tty_h erts_debug file_io_server file_sorter filelib gb_sets gb_trees gen_event gen_fsm global_group global_search heart hipe_pack_constants hipe_sparc_loader hipe_unified_loader hipe_x86_loader inet6_tcp inet6_tcp_dist inet6_udp inet_config inet_dns inet_gethost_native inet_hosts inet_res inet_tcp_dist kernel kernel_config lists_sort log_mf_h old_file_server otp_internal otp_ring0 pg pg2 prim_file prim_inet queue seq_trace slave socks5 socks5_auth socks5_tcp socks5_udp sofs supervisor_bridge user_sup vector wrap_log_reader


11340 calls.

42% of the functions in lists were not used:

all/3 any/3 filter/3 flatlength/1 flatmap/3 foldl/4 foldr/4 foreach/3 keymap/3 keymap/4 keymerge/3 mapfoldl/4 mapfoldr/3 mapfoldr/4 merge/1 merge/2 merge/3 merge3/3 module_info/0 module_info/1 rmerge/2 rmerge3/3 rumerge/2 rumerge3/3 seq/3 subtract/2 takewhile/2 ukeymerge/3 ukeysort/2 umerge/1 umerge/2 umerge/3 umerge3/3 usort/2 zf/3


7929 calls.

38% of the functions in io were not used:

fread/2 fread/3 module_info/0 module_info/1 nl/1 parse_erl_exprs/1 parse_erl_exprs/2 parse_erl_exprs/3 parse_erl_form/1 parse_erl_seq/1 parse_erl_seq/3 parse_exprs/2 request/1 scan_erl_exprs/1 scan_erl_exprs/2 scan_erl_form/1 scan_erl_seq/1 scan_erl_seq/2 scan_erl_seq/3 write/2


2974 calls.

37% of the functions in file were not used:

change_group/2 change_owner/2 change_owner/3 change_time/2 change_time/3 copy/3 copy_opened/3 eval/1 ipread_s32bu_p32bu/3 ipread_s32bu_p32bu_int/3 make_link/2 make_symlink/2 module_info/0 module_info/1 path_consult/2 path_eval/2 pread/2 pwrite/2 raw_write_file_info/2 read_link/1


1799 calls.

35% of the functions in io_lib were not used:

char_list/1 collect_chars/3 collect_line/2 fread/3 module_info/0 module_info/1 print/4 quote_atom/2 reserved_word/1 scan/2 scan/3 write/3


949 calls.

35% of the functions in string were not used:

centre/2 centre/3 cspan/2 equal/2 left/2 module_info/0 module_info/1 re_gsub/3 right/2 right/3 rstr/2 span/2 sub_word/2 words/2


808 calls.

28% of the functions in erlang were not used:

crasher/5 dexit/2 dgroup_leader/2 dlink/1 dmonitor_node/2 dmonitor_p/2 dsend/2 dunlink/1 fun_info/1 module_info/0 module_info/1 nodes/0 sand/2 seq/2 seqeq/2 sge/2 sgt/2 sle/2 slt/2 sneq/2 sneqeq/2 snot/1 sor/2 spawn/1 spawn/2 spawn/4 spawn_link/1 spawn_link/2 spawn_link/4 spawn_opt/4 sxor/2


733 calls.

40% of the functions in ets were not used:

filter/3 foldl/3 foldr/3 from_dets/2 i/0 i/1 i/2 i/3 info/2 init_table/2 module_info/0 module_info/1 test_ms/2 to_dets/2


655 calls.

45% of the functions in ordsets were not used:

filter/2 fold/3 is_subset/2 module_info/0 module_info/1 new/0 set_to_list/1 size/1 subset/2 to_list/1


554 calls.

42% of the functions in dict were not used:

fold/3 list_to_dict/1 map/2 merge/3 module_info/0 module_info/1 size/1 update/3 update/4 update_counter/3


475 calls.

29% of the functions in gen_tcp were not used:

accept/2 fdopen/2 module_info/0 module_info/1


389 calls.

28% of the functions in filename were not used:

append/2 find_src/1 find_src/2 module_info/0 module_info/1


348 calls.

76% of the functions in dets were not used:

all/0 delete_all_objects/1 delete_object/2 do_match/2 do_open_file/2 do_open_file/3 file_info/1 fixtable/2 foldr/3 from_ets/2 fsck/1 fsck/2 get_head_field/2 init_table/2 is_dets_file/1 lookup_keys/2 match/1 match/3 match_delete/2 match_object/1 match_object/2 match_object/3 member/2 module_info/0 module_info/1 open_file/1 pid2name/1 safe_fixtable/2 select/1 select/2 select/3 select_delete/2 slot/2 start/0 stop/0 to_ets/2 update_counter/3 verbose/0 verbose/1 view/1 where/2


171 calls.

52% of the functions in code were not used:

add_paths/1 add_pathsa/1 add_pathsz/1 add_pathz/1 clash/0 compiler_dir/0 del_path/1 ensure_loaded/1 get_object_code/1 is_sticky/1 load_binary/3 module_info/0 module_info/1 replace_path/2 soft_purge/1 start/0 start/1 start_link/0 start_link/1 stick_dir/1 stop/0 unstick_dir/1


166 calls.

57% of the functions in edlin were not used:

edit_line1/2 erase_inp/1 expand/1 length_after/1 length_before/1 module_info/0 module_info/1 prefix_arg/1


155 calls.

18% of the functions in regexp were not used:

module_info/0 module_info/1


147 calls.

32% of the functions in erl_parse were not used:

module_info/0 module_info/1 normalise/1 parse/1 parse_and_scan/1 tokens/2


119 calls.

45% of the functions in erl_eval were not used:

arg_list/2 arg_list/3 bindings/1 expr_list/2 expr_list/3 is_constant_expr/1 module_info/0 module_info/1 partial_eval/1


118 calls.

57% of the functions in c were not used:

bt/1 cd/1 erlangrc/0 flush/0 help/0 lc_batch/0 lc_batch/1 ls/0 ls/1 memory/0 memory/1 module_info/0 module_info/1 ni/0 nregs/0 pwd/0 q/0 regs/0 xm/1 zi/0


114 calls.

65% of the functions in init were not used:

boot/1 do_boot/3 ensure_loaded/1 fetch_loaded/0 get_plain_arguments/0 get_status/0 make_permanent/2 module_info/0 module_info/1 reboot/0 restart/0 script_id/0 timer/1


99 calls.

50% of the functions in random were not used:

module_info/0 module_info/1 seed0/0 uniform_s/1 uniform_s/2


96 calls.

55% of the functions in os were not used:

find_executable/1 find_executable/2 module_info/0 module_info/1 unix_cmd1/2 version/0


95 calls.

68% of the functions in gen_server were not used:

abcast/2 abcast/3 behaviour_info/1 format_status/2 init_it/6 module_info/0 module_info/1 multi_call/2 multi_call/3 multi_call/4 print_event/3 start/3 system_code_change/4 system_continue/3 system_terminate/4


94 calls.

43% of the functions in erl_scan were not used:

format_error/1 module_info/0 module_info/1


80 calls.

67% of the functions in unix were not used:

module_info/0 module_info/1


80 calls.

68% of the functions in sets were not used:

del_element/2 filter/2 fold/3 intersection/1 intersection/2 is_set/1 is_subset/2 list_to_set/1 module_info/0 module_info/1 new_set/0 set_to_list/1 subset/2 subtract/2 union/1


70 calls.

54% of the functions in erl_internal were not used:

bif/3 bool_op/2 list_op/2 module_info/0 module_info/1 obsolete/3 send_op/2


70 calls.

79% of the functions in error_logger were not used:

add_report_handler/1 add_report_handler/2 delete_report_handler/1 error_info/1 error_msg/1 handle_call/2 handle_event/2 handle_info/2 info_msg/1 info_msg/2 info_report/1 info_report/2 init/1 logfile/1 module_info/0 module_info/1 simple_logger/0 simple_logger/1 start/0 start_link/0 swap_handler/1 terminate/2 tty/1


68 calls.

17% of the functions in math were not used:

module_info/0 module_info/1


57 calls.

42% of the functions in calendar were not used:

date_to_gregorian_days/1 date_to_gregorian_days/3 day_of_the_week/3 gregorian_days_to_date/1 is_leap_year/1 module_info/0 module_info/1 seconds_to_time/1 time_to_seconds/1 valid_date/1


56 calls.

83% of the functions in inet were not used:

bytes_to_ip6/16 connect_options/2 fdopen/5 format_error/1 getaddr/3 getaddr_tm/3 getaddrs/2 getaddrs/3 getaddrs_tm/3 getfd/1 gethostbyaddr/2 gethostbyaddr_tm/2 gethostbyname/2 gethostbyname/3 gethostbyname_tm/3 getif/0 getiflist/0 getiflist/1 getll/1 getopts/2 getservbyname/2 getservbyport/2 getstat/1 getstat/2 i/0 i/1 i/2 ifget/2 ifget/3 ifset/2 ifset/3 ip4_to_bytes/1 ip6_to_bytes/1 ip_to_bytes/1 listen_options/2 module_info/0 module_info/1 open/7 options/0 popf/1 pushf/3 send/2 setpeername/2 setsockname/2 sockname/1 start_timer/1 stats/0 stop_timer/1 tcp_close/1 tcp_controlling_process/2 timeout/1 timeout/2 udp_close/1 udp_controlling_process/2 udp_options/2


53 calls.

55% of the functions in epp were not used:

format_error/1 macro_defs/1 module_info/0 module_info/1 scan_erl_form/1 server/4


50 calls.

78% of the functions in orddict were not used:

append/3 append_list/3 fetch/2 fetch_keys/1 filter/2 fold/3 from_list/1 is_key/2 list_to_dict/1 map/2 merge/3 module_info/0 module_info/1 size/1 to_list/1 update/3 update/4 update_counter/3


46 calls.

71% of the functions in erl_pp were not used:

attribute/1 attribute/2 expr/2 expr/3 expr/4 exprs/2 form/2 function/2 guard/1 guard/2 module_info/0 module_info/1 rule/1 rule/2 seq/2


37 calls.

83% of the functions in ram_file were not used:

close/1 copy/3 get_file/1 get_size/1 ipread_s32bu_p32bu/3 module_info/0 module_info/1 open_mode/1 position/2 pread/2 pread/3 pwrite/2 pwrite/3 read/2 set_file/2 sync/1 truncate/1 uudecode/1 uuencode/1 write/2


34 calls.

89% of the functions in rpc were not used:

abcast/2 abcast/3 async_call/4 block_call/4 code_change/3 eval_everywhere/3 eval_everywhere/4 handle_call/3 handle_cast/2 handle_info/2 init/1 module_info/0 module_info/1 multi_server_call/2 multi_server_call/3 multicall/3 nb_yield/1 nb_yield/2 parallel_eval/1 pinfo/1 pinfo/2 pmap/3 safe_multi_server_call/2 safe_multi_server_call/3 sbcast/2 sbcast/3 server_call/4 start_link/0 stop/0 terminate/2 yield/1


31 calls.

83% of the functions in sys were not used:

change_code/4 change_code/5 get_status/1 get_status/2 install/2 install/3 log/2 log/3 log_to_file/2 log_to_file/3 module_info/0 module_info/1 no_debug/1 no_debug/2 remove/2 remove/3 resume/1 resume/2 statistics/2 statistics/3 suspend/1 suspend/2 trace/2 trace/3


28 calls.

50% of the functions in group were not used:

module_info/0 module_info/1 server/2


26 calls.

91% of the functions in global were not used:

cnode/3 del_lock/1 del_lock/2 del_name/2 handle_call/3 handle_cast/2 handle_info/2 info/0 init/1 init_locker/5 init_the_locker/1 module_info/0 module_info/1 node_disconnected/1 notify_all_name/3 random_exit_name/3 random_notify_name/3 re_register_name/2 re_register_name/3 register_name/2 register_name/3 register_name_external/2 register_name_external/3 registered_names/0 resolve_it/4 safe_whereis_name/1 set_lock/1 set_lock/2 set_lock/3 start_link/0 stop/0 sync/0 sync/1 sync_init/2 terminate/2 timer/2 trans/2 trans/3 trans/4 unregister_name_external/1


25 calls.

59% of the functions in erl_lint were not used:

bool_option/4 format_error/1 is_guard_expr/1 is_pattern_expr/1 module/1 module/2 module_info/0 module_info/1 value_option/3 value_option/7


25 calls.

88% of the functions in net_kernel were not used:

allow/1 connect_node/1 connecttime/0 do_nodeup/2 do_spawn_link/5 epmd_module/0 handle_call/3 handle_cast/2 handle_info/2 hidden_connect_node/1 i/0 i/1 init/1 kernel_apply/3 longnames/0 module_info/0 module_info/1 monitor_nodes/1 node_info/1 node_info/2 nodes_info/0 protocol_childspecs/0 publish_on_node/1 start_link/1 stop/0 terminate/2 ticker/2 update_publish_nodes/1 verbose/1


24 calls.

67% of the functions in gen_udp were not used:

connect/3 controlling_process/2 fdopen/2 module_info/0 module_info/1 recv/2 recv/3 send/2


23 calls.

75% of the functions in digraph were not used:

add_edge/4 add_edge/5 del_edge/2 del_edges/2 del_path/3 del_vertex/2 del_vertices/2 edge/2 edges/1 edges/2 get_cycle/2 get_path/3 get_short_cycle/2 get_short_path/3 in_degree/2 in_edges/2 info/1 module_info/0 module_info/1 new/1 no_edges/1 no_vertices/1 out_degree/2 out_edges/2 sink_vertices/1 source_vertices/1 vertices/1


20 calls.

79% of the functions in timer were not used:

apply_after/4 apply_interval/4 cancel/1 code_change/3 exit_after/2 exit_after/3 handle_call/3 handle_cast/2 handle_info/2 hms/3 init/1 kill_after/1 kill_after/2 module_info/0 module_info/1 seconds/1 send_after/2 send_interval/2 send_interval/3 start/0 start_link/0 terminate/2


19 calls.

73% of the functions in auth were not used:

code_change/3 cookie/0 cookie/1 get_cookie/1 handle_call/3 handle_cast/2 handle_info/2 init/1 module_info/0 module_info/1 node_cookie/1 node_cookie/2 set_cookie/1 start_link/0 sync_cookie/0 terminate/2


19 calls.

81% of the functions in erl_prim_loader were not used:

dummy_in_handler/3 efile_stop_port/1 exit_port/3 get_from_port/3 get_from_port_efile/3 get_from_port_inet/3 get_path/0 inet_exit_port/3 inet_in_handler/3 module_info/0 module_info/1 start_it/4 stop_port/1


18 calls.

67% of the functions in gen were not used:

call/3 call/4 debug_options/1 init_it/6 init_it/7 module_info/0 module_info/1 reply/2 start/5 start/6


15 calls.

79% of the functions in inet_tcp were not used:

accept/2 connect/3 connect/4 controlling_process/2 fdopen/2 getaddr/1 getaddr/2 getaddrs/1 getaddrs/2 getserv/1 module_info/0 module_info/1 recv/2 recv/3 unrecv/2


14 calls.

79% of the functions in proc_lib were not used:

format/1 init_ack/1 init_p/5 initial_call/1 module_info/0 module_info/1 spawn/4 spawn_link/4 spawn_opt/4 start/3 start/4 start/5 start_link/4 start_link/5 translate_initial_call/1


12 calls.

50% of the functions in io_lib_pretty were not used:

module_info/0 module_info/1


12 calls.

40% of the functions in io_lib_format were not used:

module_info/0 module_info/1


12 calls.

68% of the functions in supervisor were not used:

behaviour_info/1 check_childspecs/1 code_change/3 delete_child/2 handle_call/3 handle_cast/2 handle_info/2 init/1 module_info/0 module_info/1 restart_child/2 start_link/2 start_link/3 terminate/2 terminate_child/2


11 calls.

50% of the functions in eval_bits were not used:

module_info/0 module_info/1


10 calls.

88% of the functions in inet_parse were not used:

dots/1 host_conf_bsdos/1 host_conf_bsdos/2 host_conf_freebsd/1 host_conf_freebsd/2 host_conf_linux/1 host_conf_linux/2 hosts/1 hosts/2 hosts_vxworks/1 ipv6_address/1 module_info/0 module_info/1 netmasks/1 netmasks/2 networks/1 networks/2 nsswitch_conf/1 nsswitch_conf/2 protocols/1 protocols/2 resolv/1 resolv/2 rpc/1 rpc/2 services/1 services/2 split_line/1 visible_string/1


10 calls.

78% of the functions in lib were not used:

flush_receive/0 module_info/0 module_info/1 nonl/1 progname/0 send/2 sendw/2


9 calls.

93% of the functions in disk_log were not used:

accessible_logs/0 alog/2 alog_terms/2 balog/2 balog_terms/2 block/1 block/2 blog_terms/2 breopen/3 btruncate/2 change_header/2 change_notify/3 change_size/2 chunk/2 chunk/3 chunk_info/1 chunk_step/3 format_error/1 ichunk_end/2 inc_wrap_file/1 info/1 init/1 internal_open/2 istart_link/0 lclose/1 lclose/2 log/2 log_terms/2 module_info/0 module_info/1 pid2name/1 reopen/2 reopen/3 start/0 sync/1 system_code_change/4 system_continue/3 system_terminate/4 truncate/1 truncate/2 unblock/1


9 calls.

96% of the functions in inet_db were not used:

add_alt_ns/1 add_alt_ns/2 add_host/2 add_hosts/1 add_ns/1 add_ns/2 add_rc/1 add_rc_bin/1 add_rc_list/1 add_resolv/1 add_rr/1 add_rr/5 add_search/1 add_socks_methods/1 add_socks_noproxy/1 clear_cache/0 clear_hosts/0 del_alt_ns/0 del_alt_ns/1 del_host/1 del_ns/0 del_ns/1 del_rr/4 del_search/0 del_search/1 del_socks_methods/0 del_socks_methods/1 del_socks_noproxy/1 get_rc/0 getbyname/2 gethostbyaddr/1 gethostname/0 handle_call/3 handle_cast/2 handle_info/2 init/1 ins_alt_ns/1 ins_alt_ns/2 ins_ns/1 ins_ns/2 ins_search/1 lookup_socket/1 module_info/0 module_info/1 register_socket/2 res_gethostbyaddr/2 res_hostent_by_domain/3 reset/0 set_cache_refresh/1 set_cache_size/1 set_domain/1 set_hostname/1 set_inet6/1 set_lookup/1 set_recurse/1 set_retry/1 set_socks_port/1 set_socks_server/1 set_timeout/1 set_udp_module/1 set_usevc/1 socks_option/1 start_link/0 stop/0 tcp_module/0 terminate/2 tolower/1 udp_module/0 unregister_socket/1


9 calls.

60% of the functions in win32reg were not used:

change_key_create/2 delete_key/1 delete_value/2 expand/1 format_error/1 module_info/0 module_info/1 set_value/3 value/2


8 calls.

67% of the functions in erl_posix_msg were not used:

module_info/0 module_info/1


7 calls.

80% of the functions in erl_tar were not used:

add/3 create/2 create/3 extract/1 extract/2 format_error/1 module_info/0 module_info/1 t/1 table/1 table/2 tt/1


6 calls.

89% of the functions in application were not used:

behaviour_info/1 get_all_env/0 get_all_env/1 get_all_key/0 get_all_key/1 get_application/0 get_application/1 get_env/1 get_key/1 get_key/2 info/0 load/1 load/2 loaded_applications/0 module_info/0 module_info/1 permit/2 set_env/3 start_boot/1 start_boot/2 start_type/0 stop/1 takeover/2 unload/1 which_applications/0


6 calls.

75% of the functions in net were not used:

broadcast/3 cast/4 module_info/0 module_info/1 relay/1 sleep/1


6 calls.

50% of the functions in io_lib_fread were not used:

module_info/0 module_info/1


3 calls.

90% of the functions in property_lists were not used:

compact/1 delete/2 expand/2 get_all_values/2 get_keys/1 get_value/2 get_value/3 is_defined/2 lookup/2 lookup_all/2 module_info/0 module_info/1 normalize/2 property/1 property/2 substitute_aliases/2 substitute_negations/2 unfold/1


3 calls.

97% of the functions in shell_default were not used:

bi/1 bt/1 c/2 cd/1 erlangrc/1 flush/0 help/0 i/0 i/3 ia/1 ia/2 ia/3 ia/4 iaa/1 iaa/2 ib/2 ib/3 iba/3 ibc/3 ibd/2 ibe/2 ic/0 ih/0 ii/1 ii/2 il/0 im/0 ini/1 ini/2 inq/1 ip/0 ipb/0 ipb/1 iq/1 ir/0 ir/1 ir/2 ir/3 ist/1 iv/0 l/1 lc/1 ls/0 ls/1 m/0 m/1 memory/0 memory/1 module_info/0 module_info/1 nc/1 ni/0 nl/1 nregs/0 pid/3 pwd/0 q/0 regs/0 zi/0


2 calls.

90% of the functions in shell were not used:

evaluator/3 history/1 local_func/4 module_info/0 module_info/1 results/1 server/0 server/1 start/1


2 calls.

86% of the functions in user were not used:

module_info/0 module_info/1 server/1 server/2 start/0 start/1


2 calls.

75% of the functions in user_drv were not used:

module_info/0 module_info/1 server/2 server/3 start/0 start/3


2 calls.

67% of the functions in erl_open_port were not used:

module_info/0 module_info/1


2 calls.

92% of the functions in file_server were not used:

code_change/3 format_error/1 handle_call/3 handle_cast/2 handle_info/2 init/1 module_info/0 module_info/1 start_link/0 stop/0 terminate/2


1 calls.

92% of the functions in net_adm were not used:

dns_hostname/1 host_file/0 localhost/0 module_info/0 module_info/1 names/0 names/1 ping_list/1 world/0 world/1 world_list/1 world_list/2


1 calls.

93% of the functions in inet_udp were not used:

close/1 connect/3 controlling_process/2 fdopen/2 getaddr/1 getaddr/2 getserv/1 module_info/0 module_info/1 open/1 recv/2 recv/3 send/2 send/4


1 calls.

94% of the functions in pool were not used:

attach/1 do_spawn/4 get_nodes/0 get_nodes_and_load/0 handle_call/3 handle_cast/2 handle_info/2 init/1 module_info/0 module_info/1 pspawn/3 pspawn_link/3 start/1 start/2 statistic_collector/0 stop/0 terminate/2