diff --git a/src/python/analysis.ipynb b/src/python/analysis.ipynb index 44e0477dd8..5b8bae5ddc 100644 --- a/src/python/analysis.ipynb +++ b/src/python/analysis.ipynb @@ -345,14 +345,7 @@ }, { "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": 32, + "execution_count": 49, "metadata": {}, "outputs": [ { @@ -401,447 +394,674 @@ " \n", "
\n", "7503 rows × 74 columns
\n", + "18 rows × 74 columns
\n", "" ], "text/plain": [ - " idx branch_name merge \\\n", - "0 0 refs/heads/master c895624acfaafa2fa4f8a9ea74a61b6026f18e01 \n", - "1 1 refs/heads/master dbabe1e8bbcc49a10bc1a7c70b0e0b30ee8cd14e \n", - "2 2 refs/heads/master dfc3460abd64e6ec66da286e1f845572daa326e5 \n", - "3 3 refs/heads/master bd6d850657aa0f82520b0aa958b0a30314b673d5 \n", - "4 4 refs/heads/master 17e8ec087e09bc0d32c88adee32a43ae84132dbe \n", - "... ... ... ... \n", - "7498 7498 refs/heads/master 00e1f399ad62cb79729b6b66f8033e9dc716abc4 \n", - "7499 7499 refs/heads/master e7212c290709614b7a321947058b23dcdabed7ab \n", - "7500 7500 refs/heads/master c5be18ea4349ccb6e3b2a13717d25633ecbb15c0 \n", - "7501 7501 refs/heads/master 594e93585c4f462051b63c9e96e8e01806b68070 \n", - "7502 7502 refs/heads/master 1f3e22bbc072098715e0cf4ac180b153a8e22470 \n", + " idx branch_name \\\n", + "13 13 refs/heads/master \n", + "573 573 refs/heads/master \n", + "1049 1049 refs/heads/master \n", + "1061 1061 refs/heads/master \n", + "1448 1448 refs/heads/master \n", + "1920 1920 refs/heads/old-master-before-asf \n", + "1984 1984 refs/heads/master \n", + "2469 2469 refs/heads/master \n", + "3595 3595 refs/remotes/origin/pull/35 \n", + "3667 3667 refs/heads/master \n", + "4208 4208 refs/heads/master \n", + "4555 4555 refs/heads/master \n", + "5004 5004 refs/heads/master \n", + "5289 5289 refs/heads/master \n", + "5628 5628 refs/heads/main \n", + "6004 6004 refs/heads/develop \n", + "7104 7104 refs/heads/master \n", + "7193 7193 refs/heads/master \n", + "\n", + " merge \\\n", + "13 fdcc5f6727546f88afa663807134c8a02e3460fd \n", + "573 7422197487f7fb1c43111c98d9859e9c05052566 \n", + "1049 f2900aa41cfb1fef3eafa17f81afe244d6998027 \n", + "1061 ef3414c1b836b2336081c8c40dadf8586b90f65f \n", + "1448 762c924cf6a187f513bafe97d4702d4377bab655 \n", + "1920 c3d344324564a68fdf91b0f2bca3574c3cf80951 \n", + "1984 0bce3a1367ac611fc90a265cee3fc6de53c75943 \n", + "2469 c93cbfe5d62bad1f0c8477f9510464dab3d38854 \n", + "3595 bc4a9ceacb2b36ad54f14ff7ca31fe9329158728 \n", + "3667 2a02a3b654e63d30b81a9295155e2121c017f983 \n", + "4208 f6d54664fa3728e2303749b4e09fbca4d362b339 \n", + "4555 b747436cd082d498728d59e3df33f0bf42c7c132 \n", + "5004 d0ea037992940d26a0476f2cddaf8cae7f1d72b2 \n", + "5289 1bd8c3b03b92c2f58aed2d29053b58d158a7f68e \n", + "5628 accc3f66b0254e1b6bfd0795e34387b1043e187e \n", + "6004 2fdcd0285238c5aaba235214616213cb04798498 \n", + "7104 9bb161d73dc8129d4912c2e53c70bd89f2aaac67 \n", + "7193 3f55235a63376fa8cff15dabc9138d7a97d92832 \n", "\n", " left \\\n", - "0 0faf7f10ae1f8f954263d24c92d2ccb484c2ba93 \n", - "1 c895624acfaafa2fa4f8a9ea74a61b6026f18e01 \n", - "2 dce33107f5cd5a1b5837757a6f2005af4301ea40 \n", - "3 de13dce427aaa7401145109727dbe04e0b8c5ca9 \n", - "4 dfc3460abd64e6ec66da286e1f845572daa326e5 \n", - "... ... \n", - "7498 11f560317c06eb131e5eccacb1fc5e9a594845e1 \n", - "7499 425cee073d328faa2e65f84e55b6ef963d996070 \n", - "7500 6ba43a2fa5bbe48fea29e2117c3accf4b419dc77 \n", - "7501 c268c3bdee008d359ace17ca0204901df3dc5ef8 \n", - "7502 cc5c1f26a8c7e7bee3e38c48b2ab7c16d60f7285 \n", + "13 03e88b7fa53da1d9ce0910922bf50f8a0beccbf3 \n", + "573 668d6eb9dd831ffaa0a5f20dd9f34f6e54eb8a08 \n", + "1049 505ae7ec23ff08ff55de75e9d0ae8a72de317b46 \n", + "1061 fadb5bb352efc6f2f7ee50e37111de9e1d03ba12 \n", + "1448 81fcbeafcf281ce07fa90b0ac58876c59e569ff1 \n", + "1920 e6b93fc8680e0d2cbba50b83c15767e6a4e64916 \n", + "1984 3330e18f01f39361c7cfbb21d26d44c8f9c21a00 \n", + "2469 ce0aa5fddd745e8374e54e5902955d303fbb4341 \n", + "3595 f7e737288e1181f48dd3d04577d42a5c46cb7507 \n", + "3667 5284ad3f0505a5b03fcfa60fad14df03edf657ef \n", + "4208 689d56f5f24b0a6a00f3fbdab2c96424f4c25c15 \n", + "4555 dfc1626d1b122e73429c4cb80cda8068f89914d8 \n", + "5004 0ab77a87d593c51a5046b23daf213e7477fd2b47 \n", + "5289 f53377542d2b73fc1f02952624305f964ba00231 \n", + "5628 2d313721ac09915b09e775a7e0ca45a64c53933e \n", + "6004 ea3963c55bfabd87b775a06533c3967d042483f8 \n", + "7104 acad895e0659994265849e945ebf9f8d437eecf2 \n", + "7193 5453d2a506cebc68c6b6ec938477d137aa281fd8 \n", "\n", " right \\\n", - "0 beb4b93e98d5eeb169dd6f6b8ea6fa8cd0acc25e \n", - "1 380ff2d5f51b55a4ce661d58cdd4581f9be8e9a7 \n", - "2 ae35b5706f798733f47ce02e65291014d4513726 \n", - "3 f6b200599e977a944a91946730d6f99d288ae55d \n", - "4 0500af924171c7364f1eaf278e83544f707b09bf \n", - "... ... \n", - "7498 784f1ed897967719278f0d87bb323eb204313fd9 \n", - "7499 aa72825c5cb91d63a370f471baf8051362e6b885 \n", - "7500 e021418ae5ef767dea5e64c7badfc4f645cbc44b \n", - "7501 6da6f081776a0e061db4f5af5f3901f1750b9f44 \n", - "7502 1346e1e99eec39ff134480a0151f2b34f422d5c8 \n", + "13 14bb50651811901405b82d8f82ef8e055ba04e81 \n", + "573 73a0bfe83fe56f264293476ce262a774c7b7fc1f \n", + "1049 5ca1542ac00f7538815c422f2577561fabcec239 \n", + "1061 5ba4c4ede75791b9fb75ac0342b2faf85532bd0f \n", + "1448 639362caa32daa89f24622194b78f6a3020982d2 \n", + "1920 f3bf1b79225f243e7ebf6ebd0c8d455cc64aca00 \n", + "1984 2007bf5f639ec25ca7b30b77ffd3f9701923a57e \n", + "2469 7ddafe692c2b876757653759fb6bbdc496b98e73 \n", + "3595 57eafb53f1354d114d2af329bbd51d064ca1d269 \n", + "3667 843d103aa8127d67e6863f8c5d5ac89805e293a3 \n", + "4208 90587af600670f741c1a38134dee2ea7f6598743 \n", + "4555 f5922d88e2a78905740d8f8425963929d79149a4 \n", + "5004 b37c3ca4cbc9f7150bd756597abc032a917510fe \n", + "5289 6993914663592ec6e54b5858e91912145fbf84a3 \n", + "5628 22c6f42dcb19f0fee6999c84dafaf5f5d8d809e9 \n", + "6004 66db85928d2676de80d5b992ba95a7b5bf5b921a \n", + "7104 e3f622585e89fc8cdaaaa1298029395265445de7 \n", + "7193 62ffde8c41b182e88b47793764a91ed36425d648 \n", "\n", " base parent test merge test \\\n", - "0 0faf7f10ae1f8f954263d24c92d2ccb484c2ba93 Tests_passed Tests_passed \n", - "1 c895624acfaafa2fa4f8a9ea74a61b6026f18e01 Tests_passed Tests_passed \n", - "2 dce33107f5cd5a1b5837757a6f2005af4301ea40 Tests_passed Tests_passed \n", - "3 de13dce427aaa7401145109727dbe04e0b8c5ca9 Tests_passed Tests_passed \n", - "4 dfc3460abd64e6ec66da286e1f845572daa326e5 Tests_passed Tests_passed \n", - "... ... ... ... \n", - "7498 3d5c725c61d13bdd34b641a4ee954093c6dedded Tests_passed Tests_passed \n", - "7499 2804daaa647fa3ea0b7757aeb7cbe0a03b65c500 Tests_passed Tests_passed \n", - "7500 de1406a68d131be78d93c389007ffeddbe224859 Tests_passed Tests_passed \n", - "7501 c268c3bdee008d359ace17ca0204901df3dc5ef8 Tests_passed Tests_passed \n", - "7502 cc5c1f26a8c7e7bee3e38c48b2ab7c16d60f7285 Tests_passed Tests_passed \n", + "13 962fc9afb92a08904a1e1d645e7ec8802a9588db Tests_passed Tests_passed \n", + "573 1b1378752ee708235b1cf49e4c93a228e3832841 Tests_passed Tests_passed \n", + "1049 8ff795e88053ef49dd89b3bc547b9f36f71d054f Tests_passed Tests_passed \n", + "1061 84a7197023379d7a6e2d686c83f9aa6512b19abe Tests_passed Tests_passed \n", + "1448 ac828a3554a8737139fba3b2e9328f2b917042f5 Tests_passed Tests_failed \n", + "1920 7e766dc12dd5bd091da305b120c638a78ec872cb Tests_passed Tests_passed \n", + "1984 49bceca9c2a667afb31bff50f72c5e31b80bcd43 Tests_passed Tests_passed \n", + "2469 3a8f4747f322d7373afe1c456a224c5c9e512f00 Tests_passed Tests_failed \n", + "3595 71cbd4bb4f6bc9b0e15ccfa6c644875ab3aa4153 Tests_passed Tests_passed \n", + "3667 3642654c4afd5013cdc81e1a6ce2d42ddf93f777 Tests_passed Tests_passed \n", + "4208 5727f61a350d2560eac1c4931493f9a752f6cbf4 Tests_passed Tests_passed \n", + "4555 cce777e2903606e15f6a61ff19336957cc94a3a1 Tests_passed Tests_failed \n", + "5004 30e11aa61d193342194a2159cb84d707b10c8c0c Tests_passed Tests_passed \n", + "5289 3ed38a6ef17a370ab96df5054d777e200f2226ca Tests_passed Tests_passed \n", + "5628 d0f507b5909e45a0a5eb355a7db9769937ebda3a Tests_passed Tests_passed \n", + "6004 825a746a596f8c52130f5d6c7ab0f56987a5cd9d Tests_passed Tests_passed \n", + "7104 96358239e39e2369806a664d4f6bd89155511aab Tests_passed Tests_passed \n", + "7193 1460931c4b7506459dc5d4d731414a06191e8d9b Tests_passed Tests_passed \n", "\n", - " repo_name gitmerge-ort ... gitmerge-ort run_time \\\n", - "0 3scale/3scale_ws_api_for_java Tests_passed ... 0.078347 \n", - "1 3scale/3scale_ws_api_for_java Tests_passed ... 0.063635 \n", - "2 3scale/3scale_ws_api_for_java Tests_passed ... 0.081639 \n", - "3 3scale/3scale_ws_api_for_java Tests_passed ... 0.080487 \n", - "4 3scale/3scale_ws_api_for_java Tests_passed ... 0.083847 \n", - "... ... ... ... ... \n", - "7498 zsoltherpai/fluent-jdbc Tests_passed ... 0.070012 \n", - "7499 zsoltherpai/fluent-jdbc Tests_passed ... 0.122507 \n", - "7500 zsoltherpai/fluent-jdbc Tests_passed ... 0.074031 \n", - "7501 zsoltherpai/fluent-jdbc Tests_passed ... 0.171546 \n", - "7502 zsoltherpai/fluent-jdbc Tests_passed ... 0.039826 \n", + " repo_name gitmerge-ort ... \\\n", + "13 Adobe-Consulting-Services/acs-aem-commons Merge_failed ... \n", + "573 JavaMoney/jsr354-api Merge_failed ... \n", + "1049 SonarCommunity/sonar-l10n-zh Merge_failed ... \n", + "1061 SonarCommunity/sonar-l10n-zh Merge_failed ... \n", + "1448 apache/olingo-odata4 Merge_failed ... \n", + "1920 commons-rdf/commons-rdf Merge_failed ... \n", + "1984 danielflower/maven-gitlog-plugin Merge_failed ... \n", + "2469 ffpojo/ffpojo Merge_failed ... \n", + "3595 jhy/jsoup Merge_failed ... \n", + "3667 jline/jline2 Merge_failed ... \n", + "4208 lemire/externalsortinginjava Merge_failed ... \n", + "4555 marcosvidolin/doco Merge_failed ... \n", + "5004 mybatis/guice Merge_failed ... \n", + "5289 oxo42/stateless4j Merge_failed ... \n", + "5628 relayrides/pushy Merge_failed ... \n", + "6004 simasch/qlrm Merge_failed ... \n", + "7104 victims/victims-enforcer Merge_failed ... \n", + "7193 warmuuh/libsass-maven-plugin Merge_failed ... \n", "\n", - " gitmerge-ort-ignorespace run_time gitmerge-recursive-patience run_time \\\n", - "0 0.079337 0.088289 \n", - "1 0.045581 0.085259 \n", - "2 0.078141 0.083631 \n", - "3 0.074700 0.077751 \n", - "4 0.086812 0.083623 \n", - "... ... ... \n", - "7498 0.074137 0.072543 \n", - "7499 0.127685 0.131325 \n", - "7500 0.077375 0.071025 \n", - "7501 0.068578 0.070962 \n", - "7502 0.076539 0.072973 \n", + " gitmerge-ort run_time gitmerge-ort-ignorespace run_time \\\n", + "13 0.288749 0.417700 \n", + "573 0.173899 0.122049 \n", + "1049 0.078984 0.283356 \n", + "1061 0.070356 0.066067 \n", + "1448 1.137488 0.375888 \n", + "1920 0.050469 0.078570 \n", + "1984 0.283195 0.070959 \n", + "2469 0.075269 0.097271 \n", + "3595 0.064064 0.075176 \n", + "3667 0.061602 0.127097 \n", + "4208 0.042594 0.065004 \n", + "4555 0.061411 0.124448 \n", + "5004 36.106934 1.899515 \n", + "5289 0.621377 0.074368 \n", + "5628 0.064191 0.071519 \n", + "6004 0.153925 0.070916 \n", + "7104 0.047791 0.040811 \n", + "7193 0.097439 0.122625 \n", "\n", - " gitmerge-recursive-minimal run_time \\\n", - "0 0.086578 \n", - "1 0.078734 \n", - "2 0.097037 \n", - "3 0.077826 \n", - "4 0.079984 \n", - "... ... \n", - "7498 0.072114 \n", - "7499 0.126571 \n", - "7500 0.073873 \n", - "7501 0.079570 \n", - "7502 0.078689 \n", + " gitmerge-recursive-patience run_time gitmerge-recursive-minimal run_time \\\n", + "13 0.555414 0.675056 \n", + "573 0.147904 0.111410 \n", + "1049 0.093402 0.084763 \n", + "1061 0.040771 0.036324 \n", + "1448 1.635434 1.192263 \n", + "1920 0.045877 0.044493 \n", + "1984 0.117276 0.070355 \n", + "2469 0.164239 0.118684 \n", + "3595 0.088486 0.081589 \n", + "3667 0.061299 0.049168 \n", + "4208 0.039346 0.041688 \n", + "4555 0.043246 0.039008 \n", + "5004 70.480849 131.691760 \n", + "5289 0.088944 0.072524 \n", + "5628 0.063414 0.055019 \n", + "6004 0.102757 0.033017 \n", + "7104 0.051202 0.039425 \n", + "7193 0.152767 0.151394 \n", "\n", " gitmerge-recursive-histogram run_time gitmerge-recursive-myers run_time \\\n", - "0 0.079997 0.076631 \n", - "1 0.077879 0.125084 \n", - "2 0.084434 0.080336 \n", - "3 0.082005 0.080091 \n", - "4 0.129296 0.100433 \n", - "... ... ... \n", - "7498 0.123546 0.072584 \n", - "7499 0.128668 0.079697 \n", - "7500 0.068811 0.073384 \n", - "7501 0.040840 0.069760 \n", - "7502 0.077337 0.071203 \n", + "13 0.392821 0.494134 \n", + "573 0.311316 1.023735 \n", + "1049 0.085285 0.082006 \n", + "1061 0.075095 0.071372 \n", + "1448 0.778543 0.645703 \n", + "1920 0.047837 0.047098 \n", + "1984 0.055536 0.491101 \n", + "2469 0.120120 0.168207 \n", + "3595 0.096748 0.117634 \n", + "3667 0.056159 0.061359 \n", + "4208 0.040400 0.042497 \n", + "4555 0.037715 0.048781 \n", + "5004 153.439852 349.230268 \n", + "5289 0.064355 0.052211 \n", + "5628 0.057345 0.048730 \n", + "6004 0.038761 0.036871 \n", + "7104 0.047350 0.046274 \n", + "7193 0.131717 0.179701 \n", "\n", " gitmerge-resolve run_time git-hires-merge run_time spork run_time \\\n", - "0 0.085703 0.028758 0.071404 \n", - "1 0.076208 0.026582 0.080857 \n", - "2 0.079727 0.024618 0.188249 \n", - "3 0.075876 0.030137 0.071771 \n", - "4 0.075980 0.023195 0.112906 \n", - "... ... ... ... \n", - "7498 0.173341 0.044964 0.127322 \n", - "7499 1.026088 0.044024 4.835232 \n", - "7500 0.072817 0.039708 0.073962 \n", - "7501 0.036596 0.033684 0.126364 \n", - "7502 0.075685 0.029970 0.067817 \n", + "13 4.643133 0.340799 4.652490 \n", + "573 1.627475 0.104198 5.933104 \n", + "1049 0.714700 0.074157 0.072072 \n", + "1061 1.111429 0.052421 0.063754 \n", + "1448 1.547162 0.285200 38.312896 \n", + "1920 33.328239 0.035046 3.359272 \n", + "1984 0.666561 0.045627 8.695772 \n", + "2469 0.406082 0.079607 5.093870 \n", + "3595 0.388403 0.062407 7.726159 \n", + "3667 1.499069 0.057555 5.744925 \n", + "4208 1.271101 0.032933 8.618134 \n", + "4555 1.309147 0.030846 0.040700 \n", + "5004 82.761788 0.082097 69.780315 \n", + "5289 1.610951 0.038429 0.468673 \n", + "5628 1.777059 0.052253 19.248314 \n", + "6004 2.395876 0.023556 0.038311 \n", + "7104 0.978307 0.038886 0.047033 \n", + "7193 0.622274 0.096564 6.266961 \n", "\n", " intellimerge run_time \n", - "0 2.202744 \n", - "1 2.063526 \n", - "2 3.314978 \n", - "3 2.037645 \n", - "4 3.665630 \n", - "... ... \n", - "7498 1.894002 \n", - "7499 1.546544 \n", - "7500 1.228324 \n", - "7501 1.684654 \n", - "7502 1.180007 \n", + "13 3.562799 \n", + "573 1.179602 \n", + "1049 0.912455 \n", + "1061 0.859368 \n", + "1448 3.823840 \n", + "1920 0.842363 \n", + "1984 1.053203 \n", + "2469 1.887660 \n", + "3595 1.258215 \n", + "3667 0.930597 \n", + "4208 0.776335 \n", + "4555 2.818031 \n", + "5004 56.292896 \n", + "5289 1.457521 \n", + "5628 1.124558 \n", + "6004 0.749376 \n", + "7104 0.755998 \n", + "7193 1.579915 \n", "\n", - "[7503 rows x 74 columns]" - ] - }, - "execution_count": 32, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "df[(~df[\"Equivalent gitmerge-ort intellimerge\"]) & df[\"gitmerge-ort\"] != \"Merge_failed\"]" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0 True\n", - "1 True\n", - "2 True\n", - "3 True\n", - "4 True\n", - " ... \n", - "7498 True\n", - "7499 True\n", - "7500 True\n", - "7501 True\n", - "7502 True\n", - "Length: 7503, dtype: bool" + "[18 rows x 74 columns]" ] }, - "execution_count": 33, + "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "# Output merges for which \"Equivalent gitmerge-ort intellimerge\" is true but gitmerge-ort is false\n", - "~df[\"Equivalent gitmerge-ort intellimerge\"] & df[\"gitmerge-ort\"] != \"Merge_failed\"" + "# * Merges for which some tools succeeded and others failed. This is perhaps more interesting for the current paper than for building a new merge tool, but it does indicate what features to be sure to retain from current tools.\n", + "df[(~df[\"Equivalent gitmerge-ort gitmerge-ort-ignorespace\"]) & (df[\"gitmerge-ort\"] == \"Merge_failed\") & (df[\"gitmerge-ort-ignorespace\"] != \"Merge_failed\")]" ] }, {