-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathlatex_tables.tex
More file actions
41 lines (38 loc) · 4.79 KB
/
Copy pathlatex_tables.tex
File metadata and controls
41 lines (38 loc) · 4.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
% Generated LaTeX tables for research paper
% Generated from aggregated statistics
% Requires \usepackage{multirow} and \usepackage{makecell} in your LaTeX preamble
% Combined General + RQ1 + RQ2 Overview
\begin{tabular}{@{}c|p{5cm}|r|r|r|r|r|}
\cline{2-7}
& \textbf{Metric} & \multicolumn{1}{c|}{\textbf{\typescript}} & \multicolumn{1}{c|}{\textbf{\python}} & \multicolumn{1}{c|}{\textbf{\go}} & \multicolumn{1}{c|}{\textbf{\csharp}} & \textbf{All languages} \\
\hline
\multicolumn{1}{|c|}{\multirow{3}{*}{\makecell{\textbf{General} \\ \textbf{statistics}}}} & Total repositories & 840 & 530 & 242 & 220 & 1,832 \\
\multicolumn{1}{|c|}{} & Total pull requests & 7,480 & 7,190 & 10,107 & 1,983 & 26,760 \\
\multicolumn{1}{|c|}{} & Total PRs merged & 4,428 (59.2\%) & 5,468 (76.1\%) & 8,361 (82.7\%) & 1,146 (57.8\%) & 19,403 (72.5\%) \\
\hline
\multicolumn{1}{|c|}{\multirow{7}{*}{\makecell{\textbf{RQ1 \textsc{Library}} \\ \textbf{\textsc{Usage}}}}} & PRs importing any library & 2,993 (40.0\%) & 2,720 (37.8\%) & 1,273 (12.6\%) & 902 (45.5\%) & 7,888 (29.5\%) \\
\multicolumn{1}{|c|}{} & PRs importing standard library & 828 (11.1\%) & 2,383 (33.1\%) & 1,244 (12.3\%) & 743 (37.5\%) & 5,198 (19.4\%) \\
\multicolumn{1}{|c|}{} & PRs importing external libraries & 2,847 (38.1\%) & 1,914 (26.6\%) & 324 (3.2\%) & 738 (37.2\%) & 5,823 (21.8\%) \\
\multicolumn{1}{|c|}{} & Avg. standard library imports per PR & 0.26 & 1.28 & 0.63 & 0.49 & 0.69 \\
\multicolumn{1}{|c|}{} & Avg. external library imports per PR & 1.87 & 0.73 & 0.08 & 0.73 & 0.80 \\
\multicolumn{1}{|c|}{} & Unique external libraries imported & 2,495 & 948 & 314 & 231 & 3,988 \\
\multicolumn{1}{|c|}{} & PRs with library imports merged & 1,595 (53.3\%) & 1,768 (65.0\%) & 918 (72.1\%) & 467 (51.8\%) & 4,748 (60.2\%) \\
\hline
\multicolumn{1}{|c|}{\multirow{6}{*}{\makecell{\textbf{RQ2 \textsc{New}} \\ \textbf{\textsc{Dependencies}}}}} & PRs adding new dependencies & 9 (0.1\%) & 200 (2.8\%) & 16 (0.2\%) & 120 (6.1\%) & 345 (1.3\%) \\
\multicolumn{1}{|c|}{} & Avg. new dependencies per PR & 0.01 & 0.17 & 0.02 & 0.30 & 0.08 \\
\multicolumn{1}{|c|}{} & Total new dependencies & 95 & 1,237 & 203 & 593 & 2,128 \\
\multicolumn{1}{|c|}{} & Dependencies specifying version & 95 (100.0\%) & 1,020 (82.5\%) & 203 (100.0\%) & 278 (46.9\%) & 1,596 (75.0\%) \\
\multicolumn{1}{|c|}{} & Unique new dependencies & 85 & 552 & 188 & 294 & 1,119 \\
\multicolumn{1}{|c|}{} & PRs with new dependencies merged & 6 (66.7\%) & 131 (65.5\%) & 5 (31.2\%) & 56 (46.7\%) & 198 (57.4\%) \\
\hline
\end{{tabular}}
% RQ3: Choosing Libraries - Per Language Breakdown
\begin{tabular}{|l|l|l|l|l|}
\hline
\textbf{Metric} & \multicolumn{1}{c|}{\textbf{\typescript}} & \multicolumn{1}{c|}{\textbf{\python}} & \multicolumn{1}{c|}{\textbf{\go}} & \multicolumn{1}{c|}{\textbf{\csharp}} \\
\hline
\makecell[l]{Top 10 external \\ library imports} & \makecell[l]{react (1013) \\ vitest (483) \\ zod (313) \\ next (303) \\ lucide-react (261) \\ @testing-library/react (136) \\ @tanstack/react-query (111) \\ lodash (107) \\ drizzle-orm (97) \\ chai (92)} & \makecell[l]{pytest (812) \\ pydantic (279) \\ crewai (264) \\ requests (125) \\ numpy (125) \\ fastapi (114) \\ openai (65) \\ pandas (60) \\ httpx (53) \\ yaml (52)} & \makecell[l]{github.com/stretchr/testify (108) \\ github.com/smacker/go-tree-sitter (21) \\ github.com/spf13/cobra (20) \\ github.com/cometbft/cometbft (13) \\ github.com/microsoft/typescript-go (13) \\ github.com/tliron/glsp (13) \\ go.uber.org/zap (12) \\ github.com/gofiber/fiber (11) \\ k8s.io/apimachinery/pkg (10) \\ github.com/onsi/gomega (9)} & \makecell[l]{Avalonia (275) \\ Xunit (243) \\ Dock (131) \\ Aspire (55) \\ Azure (50) \\ NUnit (48) \\ FluentAssertions (30) \\ ReactiveUI (28) \\ Newtonsoft (27) \\ Svg (27)} \\
\hline
\makecell[l]{Top 10 new \\ dependencies} & \makecell[l]{vite (3) \\ typescript (3) \\ husky (2) \\ @biomejs/biome (2) \\ zod (2) \\ prettier (2) \\ @types/node (2) \\ three (2) \\ @tanstack/react-router (1) \\ @electron-forge/shared-types (1)} & \makecell[l]{requests (24) \\ openai-agents (22) \\ openai (21) \\ numpy (21) \\ pandas (18) \\ pytest (14) \\ python-dotenv (13) \\ uvicorn (13) \\ pydantic (12) \\ aiohttp (12)} & \makecell[l]{github.com/golang/snappy (6) \\ github.com/stretchr/testify (3) \\ gopkg.in/yaml.v3 (3) \\ github.com/gogo/protobuf (3) \\ github.com/klauspost/reedsolomon (3) \\ go.uber.org/atomic (2) \\ github.com/smacker/go-tree-sitter (2) \\ github.com/ashanbrown/makezero (1) \\ github.com/GaijinEntertainment/go-exhaustruct/v3 (1) \\ honnef.co/go/tools (1)} & \makecell[l]{Microsoft.NET.Test.Sdk (26) \\ xunit.runner.visualstudio (22) \\ xunit (20) \\ Moq (20) \\ coverlet.collector (15) \\ Microsoft.AspNetCore.Mvc.Testing (11) \\ NUnit (9) \\ NUnit3TestAdapter (9) \\ Microsoft.Extensions.DependencyInjection.Abstractions (7) \\ Azure.Core (7)} \\
\hline
\end{tabular}