facebook / redex
Temporal Dependencies

A temporal dependency occurs when developers change two or more files at the same time (i.e. they are a part of the same commit).


Files Most Frequently Changed Together (Top 50)

data...

Pairs # same commits # commits 1 # commits 2 latest commit
libresource/utils/Serialize.h
libresource/Serialize.cpp
6 17 (35%) 18 (33%) 2022-04-01
libredex/DexClass.h
libredex/DexClass.cpp
6 187 (3%) 171 (3%) 2022-03-30
libredex/ApkResources.h
libredex/ApkResources.cpp
5 30 (16%) 42 (11%) 2022-04-01
libredex/MethodSimilarityOrderer.h
libredex/MethodSimilarityOrderer.cpp
5 10 (50%) 16 (31%) 2022-03-28
libresource/utils/Serialize.h
libredex/ApkResources.cpp
5 17 (29%) 42 (11%) 2022-04-01
libresource/Serialize.cpp
libredex/ApkResources.cpp
4 18 (22%) 42 (9%) 2022-04-01
libredex/DexClass.cpp
libredex/RedexContext.cpp
3 171 (1%) 81 (3%) 2022-03-30
libredex/DexClass.h
libredex/RedexContext.cpp
3 187 (1%) 81 (3%) 2022-03-30
libresource/androidfw/ResourceTypes.h
libresource/ResourceTypes.cpp
3 25 (12%) 36 (8%) 2022-03-29
libredex/IRList.h
libredex/IRList.cpp
3 60 (5%) 51 (5%) 2022-03-29
libredex/DexStore.h
libredex/DexStore.cpp
3 54 (5%) 38 (7%) 2022-03-18
opt/class-merging/IntraDexClassMergingPass.cpp
service/class-merging/Model.cpp
2 7 (28%) 50 (4%) 2022-03-30
libredex/RedexResources.h
libredex/ApkResources.cpp
2 69 (2%) 42 (4%) 2022-03-30
opt/builder_pattern/RemoveBuilderPattern.cpp
opt/builder_pattern/BuilderTransform.h
2 24 (8%) 12 (16%) 2022-04-01
service/cse/CommonSubexpressionElimination.h
service/cse/CommonSubexpressionElimination.cpp
2 22 (9%) 41 (4%) 2022-03-10
libredex/ProguardParser.cpp
libredex/ProguardConfiguration.cpp
2 55 (3%) 9 (22%) 2022-03-22
libredex/ProguardPrintConfiguration.cpp
libredex/ProguardParser.cpp
2 18 (11%) 55 (3%) 2022-03-22
opt/class-merging/ClassMergingPass.cpp
service/class-merging/Model.cpp
2 29 (6%) 50 (4%) 2022-03-30
libredex/ProguardPrintConfiguration.cpp
libredex/ProguardMatcher.cpp
2 18 (11%) 109 (1%) 2022-03-22
tools/redex-all/main.cpp
tools/bytecode_debugger/InjectDebug.cpp
2 278 (<1%) 12 (16%) 2022-03-30
libresource/utils/Serialize.h
libredex/ApkResources.h
2 17 (11%) 30 (6%) 2022-04-01
libredex/ProguardConfiguration.cpp
libredex/ProguardMatcher.cpp
2 9 (22%) 109 (1%) 2022-03-22
libredex/BundleResources.h
libredex/BundleResources.cpp
2 24 (8%) 35 (5%) 2022-03-30
libredex/DexOutput.h
libredex/DexOutput.cpp
2 68 (2%) 198 (1%) 2022-03-30
opt/instrument/Instrument.cpp
libredex/DexClass.h
2 103 (1%) 187 (1%) 2022-03-30
service/class-merging/Model.h
opt/class-merging/ClassMergingPass.cpp
2 39 (5%) 29 (6%) 2022-03-30
libredex/ProguardParser.cpp
libredex/ProguardMatcher.cpp
2 55 (3%) 109 (1%) 2022-03-22
libredex/ProguardConfiguration.h
libredex/ProguardConfiguration.cpp
2 31 (6%) 9 (22%) 2022-03-22
opt/instrument/Instrument.cpp
libredex/RedexContext.cpp
2 103 (1%) 81 (2%) 2022-03-30
libredex/ProguardPrintConfiguration.cpp
libredex/ProguardConfiguration.cpp
2 18 (11%) 9 (22%) 2022-03-22
opt/class-merging/IntraDexClassMergingPass.cpp
opt/class-merging/AnonymousClassMergingPass.cpp
2 7 (28%) 19 (10%) 2022-03-30
service/class-merging/Model.h
opt/class-merging/IntraDexClassMergingPass.cpp
2 39 (5%) 7 (28%) 2022-03-30
libredex/CFGMutation.h
libredex/CFGMutation.cpp
2 16 (12%) 11 (18%) 2022-03-24
libredex/ProguardPrintConfiguration.cpp
libredex/ProguardConfiguration.h
2 18 (11%) 31 (6%) 2022-03-22
libredex/ProguardParser.h
libredex/ProguardParser.cpp
2 13 (15%) 55 (3%) 2022-03-22
libredex/MethodSimilarityOrderer.cpp
libredex/DexOutput.cpp
2 16 (12%) 198 (1%) 2022-03-28
libredex/BundleResources.cpp
libredex/ApkResources.cpp
2 35 (5%) 42 (4%) 2022-03-30
libredex/RedexResources.h
libredex/BundleResources.cpp
2 69 (2%) 35 (5%) 2022-03-30
tools/common/ToolsCommon.cpp
tools/bytecode_debugger/InjectDebug.cpp
2 34 (5%) 12 (16%) 2022-03-30
libresource/ResourceTypes.cpp
libredex/ApkResources.cpp
2 36 (5%) 42 (4%) 2022-03-29
opt/class-merging/IntraDexClassMergingPass.cpp
opt/class-merging/ClassMergingPass.cpp
2 7 (28%) 29 (6%) 2022-03-30
libresource/androidfw/ResourceTypes.h
libredex/ApkResources.cpp
2 25 (8%) 42 (4%) 2022-03-29
libredex/ProguardMap.h
libredex/ProguardMap.cpp
2 32 (6%) 56 (3%) 2022-03-30
opt/class-merging/ClassMergingPass.cpp
opt/class-merging/AnonymousClassMergingPass.cpp
2 29 (6%) 19 (10%) 2022-03-30
tools/redex-all/main.cpp
tools/common/ToolsCommon.cpp
2 278 (<1%) 34 (5%) 2022-03-30
service/class-merging/Model.h
service/class-merging/Model.cpp
2 39 (5%) 50 (4%) 2022-03-30
service/class-merging/Model.h
opt/class-merging/AnonymousClassMergingPass.cpp
2 39 (5%) 19 (10%) 2022-03-30
libredex/ProguardParser.h
tools/redex-all/main.cpp
2 13 (15%) 278 (<1%) 2022-03-22
opt/instrument/Instrument.cpp
libredex/DexClass.cpp
2 103 (1%) 171 (1%) 2022-03-30
libredex/ProguardConfiguration.h
libredex/ProguardMatcher.cpp
2 31 (6%) 109 (1%) 2022-03-22
Dependencies between files in same commits
The number on the lines shows the number of shared commits.
G [libresource/utils/Serialize.h] [libresource/utils/Serialize.h] [libresource/Serialize.cpp] [libresource/Serialize.cpp] [libresource/utils/Serialize.h]--[libresource/Serialize.cpp] 6 [libredex/ApkResources.h] [libredex/ApkResources.h] [libresource/utils/Serialize.h]--[libredex/ApkResources.h] 2 [libredex/ApkResources.cpp] [libredex/ApkResources.cpp] [libresource/utils/Serialize.h]--[libredex/ApkResources.cpp] 5 [libresource/Serialize.cpp]--[libredex/ApkResources.cpp] 4 [libredex/DexClass.h] [libredex/DexClass.h] [libredex/DexClass.cpp] [libredex/DexClass.cpp] [libredex/DexClass.h]--[libredex/DexClass.cpp] 6 [libredex/RedexContext.cpp] [libredex/RedexContext.cpp] [libredex/DexClass.h]--[libredex/RedexContext.cpp] 3 [libredex/DexClass.cpp]--[libredex/RedexContext.cpp] 3 [libredex/ApkResources.h]--[libredex/ApkResources.cpp] 5 [libredex/MethodSimilarityOrderer.h] [libredex/MethodSimilarityOrderer.h] [libredex/MethodSimilarityOrderer.cpp] [libredex/MethodSimilarityOrderer.cpp] [libredex/MethodSimilarityOrderer.h]--[libredex/MethodSimilarityOrderer.cpp] 5 [libredex/DexOutput.cpp] [libredex/DexOutput.cpp] [libredex/MethodSimilarityOrderer.cpp]--[libredex/DexOutput.cpp] 2 [libresource/androidfw/ResourceTypes.h] [libresource/androidfw/ResourceTypes.h] [libresource/androidfw/ResourceTypes.h]--[libredex/ApkResources.cpp] 2 [libresource/ResourceTypes.cpp] [libresource/ResourceTypes.cpp] [libresource/androidfw/ResourceTypes.h]--[libresource/ResourceTypes.cpp] 3 [libresource/ResourceTypes.cpp]--[libredex/ApkResources.cpp] 2 [libredex/IRList.h] [libredex/IRList.h] [libredex/IRList.cpp] [libredex/IRList.cpp] [libredex/IRList.h]--[libredex/IRList.cpp] 3 [libredex/DexStore.h] [libredex/DexStore.h] [libredex/DexStore.cpp] [libredex/DexStore.cpp] [libredex/DexStore.h]--[libredex/DexStore.cpp] 3 [opt/class-merging/IntraDexClassMergingPass.cpp] [opt/class-merging/IntraDexClassMergingPass.cpp] [service/class-merging/Model.cpp] [service/class-merging/Model.cpp] [opt/class-merging/IntraDexClassMergingPass.cpp]--[service/class-merging/Model.cpp] 2 [opt/class-merging/ClassMergingPass.cpp] [opt/class-merging/ClassMergingPass.cpp] [opt/class-merging/IntraDexClassMergingPass.cpp]--[opt/class-merging/ClassMergingPass.cpp] 2 [opt/class-merging/AnonymousClassMergingPass.cpp] [opt/class-merging/AnonymousClassMergingPass.cpp] [opt/class-merging/IntraDexClassMergingPass.cpp]--[opt/class-merging/AnonymousClassMergingPass.cpp] 2 [libredex/RedexResources.h] [libredex/RedexResources.h] [libredex/RedexResources.h]--[libredex/ApkResources.cpp] 2 [libredex/BundleResources.cpp] [libredex/BundleResources.cpp] [libredex/RedexResources.h]--[libredex/BundleResources.cpp] 2 [opt/builder_pattern/RemoveBuilderPattern.cpp] [opt/builder_pattern/RemoveBuilderPattern.cpp] [opt/builder_pattern/BuilderTransform.h] [opt/builder_pattern/BuilderTransform.h] [opt/builder_pattern/RemoveBuilderPattern.cpp]--[opt/builder_pattern/BuilderTransform.h] 2 [service/cse/CommonSubexpressionElimination.h] [service/cse/CommonSubexpressionElimination.h] [service/cse/CommonSubexpressionElimination.cpp] [service/cse/CommonSubexpressionElimination.cpp] [service/cse/CommonSubexpressionElimination.h]--[service/cse/CommonSubexpressionElimination.cpp] 2 [libredex/ProguardParser.cpp] [libredex/ProguardParser.cpp] [libredex/ProguardConfiguration.cpp] [libredex/ProguardConfiguration.cpp] [libredex/ProguardParser.cpp]--[libredex/ProguardConfiguration.cpp] 2 [libredex/ProguardMatcher.cpp] [libredex/ProguardMatcher.cpp] [libredex/ProguardParser.cpp]--[libredex/ProguardMatcher.cpp] 2 [libredex/ProguardConfiguration.cpp]--[libredex/ProguardMatcher.cpp] 2 [libredex/ProguardPrintConfiguration.cpp] [libredex/ProguardPrintConfiguration.cpp] [libredex/ProguardPrintConfiguration.cpp]--[libredex/ProguardParser.cpp] 2 [libredex/ProguardPrintConfiguration.cpp]--[libredex/ProguardConfiguration.cpp] 2 [libredex/ProguardPrintConfiguration.cpp]--[libredex/ProguardMatcher.cpp] 2 [libredex/ProguardConfiguration.h] [libredex/ProguardConfiguration.h] [libredex/ProguardPrintConfiguration.cpp]--[libredex/ProguardConfiguration.h] 2 [opt/class-merging/ClassMergingPass.cpp]--[service/class-merging/Model.cpp] 2 [opt/class-merging/ClassMergingPass.cpp]--[opt/class-merging/AnonymousClassMergingPass.cpp] 2 [tools/redex-all/main.cpp] [tools/redex-all/main.cpp] [tools/bytecode_debugger/InjectDebug.cpp] [tools/bytecode_debugger/InjectDebug.cpp] [tools/redex-all/main.cpp]--[tools/bytecode_debugger/InjectDebug.cpp] 2 [tools/common/ToolsCommon.cpp] [tools/common/ToolsCommon.cpp] [tools/redex-all/main.cpp]--[tools/common/ToolsCommon.cpp] 2 [libredex/BundleResources.h] [libredex/BundleResources.h] [libredex/BundleResources.h]--[libredex/BundleResources.cpp] 2 [libredex/BundleResources.cpp]--[libredex/ApkResources.cpp] 2 [libredex/DexOutput.h] [libredex/DexOutput.h] [libredex/DexOutput.h]--[libredex/DexOutput.cpp] 2 [opt/instrument/Instrument.cpp] [opt/instrument/Instrument.cpp] [opt/instrument/Instrument.cpp]--[libredex/DexClass.h] 2 [opt/instrument/Instrument.cpp]--[libredex/DexClass.cpp] 2 [opt/instrument/Instrument.cpp]--[libredex/RedexContext.cpp] 2 [service/class-merging/Model.h] [service/class-merging/Model.h] [service/class-merging/Model.h]--[opt/class-merging/IntraDexClassMergingPass.cpp] 2 [service/class-merging/Model.h]--[service/class-merging/Model.cpp] 2 [service/class-merging/Model.h]--[opt/class-merging/ClassMergingPass.cpp] 2 [service/class-merging/Model.h]--[opt/class-merging/AnonymousClassMergingPass.cpp] 2 [libredex/ProguardConfiguration.h]--[libredex/ProguardConfiguration.cpp] 2 [libredex/ProguardConfiguration.h]--[libredex/ProguardMatcher.cpp] 2 [libredex/CFGMutation.h] [libredex/CFGMutation.h] [libredex/CFGMutation.cpp] [libredex/CFGMutation.cpp] [libredex/CFGMutation.h]--[libredex/CFGMutation.cpp] 2 [libredex/ProguardParser.h] [libredex/ProguardParser.h] [libredex/ProguardParser.h]--[libredex/ProguardParser.cpp] 2 [libredex/ProguardParser.h]--[tools/redex-all/main.cpp] 2 [tools/common/ToolsCommon.cpp]--[tools/bytecode_debugger/InjectDebug.cpp] 2 [libredex/ProguardMap.h] [libredex/ProguardMap.h] [libredex/ProguardMap.cpp] [libredex/ProguardMap.cpp] [libredex/ProguardMap.h]--[libredex/ProguardMap.cpp] 2

Open 3D force graph (file dependencies)...
Open 3D force graph (file dependencies with commits)...
Dependencies between components in same commits (primary)
The number on the lines shows the number of shared commits.
G libredex libredex libredex--libredex 40 tools tools libredex--tools 5 libresource libresource libresource--libredex 6 libresource--libresource 10 opt opt opt--libredex 9 opt--opt 9 service service opt--service 5 service--libredex 6 service--service 6 tools--opt 1 tools--tools 2 website website website--website 1

Open 3D force graph (file dependencies)...