Page 259 - 《软件学报》2026年第3期
P. 259
1222 软件学报 2026 年第 37 卷第 3 期
[5] Peng HR, Zhang Y, Ernst MD, Chen JB, Ding BY. GoFree: Reducing garbage collection via compiler-inserted freeing. In: Proc. of the
23rd ACM/IEEE Int’l Symp. on Code Generation and Optimization. Las Vegas: ACM, 2025. 675–688. [doi: 10.1145/3696443.3708925]
[6] grpc-go. 2025. https://github.com/grpc/grpc-go
[7] Memory retained after connections closed. 2025. https://github.com/grpc/grpc-go/issues/4758
[8] Liu ZH, Zhu SF, Qin BQ, Chen H, Song LH. Automatically detecting and fixing concurrency bugs in Go software systems. In: Proc. of
the 26th ACM Int’l Conf. on Architectural Support for Programming Languages and Operating Systems. ACM, 2021. 616–629. [doi: 10.
1145/3445814.3446756]
[9] Veileborg OH, Saioc GV, Møller A. Detecting blocking errors in Go programs using localized abstract interpretation. In: Proc. of the 37th
IEEE/ACM Int’l Conf. on Automated Software Engineering. Rochester: ACM, 2022. 32. [doi: 10.1145/3551349.3561154]
[10] Selakovic M, Pradel M. Performance issues and optimizations in JavaScript: An empirical study. In: Proc. of the 38th Int’l Conf. on
Software Engineering. Austin: ACM, 2016. 61–72. [doi: 10.1145/2884781.2884829]
[11] Chabbi M, Ramanathan MK. A study of real-world data races in Golang. In: Proc. of the 43rd ACM SIGPLAN Int’l Conf. on
Programming Language Design and Implementation. San Diego: ACM, 2022. 474–489. [doi: 10.1145/3519939.3523720]
[12] Honnef D. Staticcheck. 2025. https://staticcheck.dev/
[13] Go. vet. 2025. https://pkg.go.dev/cmd/vet
[14] GolangCI. Golangci-lint. 2025. https://golangci-lint.run/
[15] Secure Go. gosec. 2025. https://github.com/securego/gosec
[16] Gechev M. revive. 2025. https://github.com/mgechev/revive
[17] Park YG, Goldberg B. Reference escape analysis: Optimizing reference counting based on the lifetime of references. ACM SIGPLAN
Notices, 1991, 26(9): 178–189. [doi: 10.1145/115866.115883]
[18] Park YG, Goldberg B. Escape analysis on lists. In: Proc. of the 1992 ACM SIGPLAN Conf. on Programming Language Design and
Implementation. San Francisco: ACM, 1992. 116–127. [doi: 10.1145/143095.143125]
[19] Go. A guide to the go garbage collector. 2025. https://go.dev/doc/gc-guide
[20] Jump M, McKinley KS. Cork: Dynamic memory leak detection for garbage-collected languages. In: Proc. of the 34th Annual ACM
SIGPLAN-SIGACT Symp. on Principles of Programming Languages. Nice: ACM, 2007. 31–38. [doi: 10.1145/1190216.1190224]
[21] Go. The Go programming language specification—Interface types. 2025. https://go.dev/ref/spec#Interface_types
[22] Go. The Go programming language specification—Slice types. 2025. https://go.dev/ref/spec#Slice_types
[23] Go. The Go programming language specification—Map types. 2025. https://go.dev/ref/spec#Map_types
[24] CockroachDB. cockroach. 2025. https://github.com/cockroachdb/cockroach
[25] Marr H. Making a Go program run 1.7x faster with a one character change. 2022. https://hmarr.com/blog/go-allocation-hunting/
[26] Honnef D. SA4031—Checking never-nil value against nil. 2025.https://staticcheck.dev/docs/checks/#SA4031
[27] Honnef D. S1009—Omit redundant nil check on slices, maps, and channels. 2025. https://staticcheck.dev/docs/checks/#S1009
[28] Honnef D. S1020—Omit redundant nil check in type assertion. 2025. https://staticcheck.dev/docs/checks/#S1020
[29] Honnef D. S1031—Omit redundant nil check around loop. 2025. https://staticcheck.dev/docs/checks/#S1031
[30] Honnef D. SA5011—Possible nil pointer dereference. 2025. https://staticcheck.dev/docs/checks/#SA5011
[31] GitHub. CodeQL. 2025. https://codeql.github.com/
[32] GitHub. QL language reference. 2025. https://codeql.github.com/docs/ql-language-reference/
[33] Go. The Go programming language specification. 2025. https://go.dev/ref/spec
[34] The MITRE Corporation. CVE. 2025. https://www.cve.org/
[35] The MITRE Corporation. CWE. 2025. https://cwe.mitre.org/index.html
[36] Go Security team. Go vulnerability database. 2025. https://pkg.go.dev/vuln/
[37] The MITRE Corporation. CWE—Helpful views. 2025. https://cwe.mitre.org/data/index.html#helpful_views
[38] The MITRE Corporation. Weaknesses in the 2022 CWE Top 25 most dangerous software weaknesses. 2025. https://cwe.mitre.org/data/
definitions/1387.html
[39] The MITRE Corporation. Weaknesses in software written in C++. 2025. https://cwe.mitre.org/data/definitions/659.html
[40] Go. panic.go. 2025. https://github.com/golang/go/blob/master/src/runtime/panic.go
[41] Costa DE, Mujahid S, Abdalkareem R, Shihab E. Breaking type safety in Go: An empirical study on the usage of the unsafe package.
IEEE Trans. on Software Engineering, 2022, 48(7): 2277–2294. [doi: 10.1109/TSE.2021.3057720]
[42] GitHub. REST API endpoints for search. 2025. https://docs.github.com/en/rest/search/search?apiVersion=2022-11-28
[43] PingCAP. goroutine/memory leak when streaming query been cancelled. 2025. https://github.com/pingcap/tidb/issues/27353

