Page 30 - 《软件学报》2024年第6期
P. 30

2606                                                       软件学报  2024  年第  35  卷第  6  期


                     Trans. on Architecture and Code Optimization, 2008, 5(1): 7. [doi: 10.1145/1369396.1370017]
                 [13]  Stadler  L,  Würthinger  T,  Mössenböck  H.  Partial  escape  analysis  and  scalar  replacement  for  Java.  In:  Proc.  of  the  2014  Annual
                     IEEE/ACM Int’l Symp. on Code Generation and Optimization. Orlando: ACM, 2014. 165–174. [doi: 10.1145/2581122.2544157]
                 [14]  Go. Go/issues/54247. 2022. https://github.com/golang/go/issues/54247
                 [15]  Go. Go/issues/44614. 2021. https://github.com/golang/go/issues/44614
                 [16]  Go. Bad pointer. 2023. https://github.com/golang/go/blob/2fcfdb96860855be0c88e10e3fd5bb858420cfe2/src/runtime/mbitmap.go#L321
                 [17]  Zhong CX, Zhao QD, Liu X. BinGo: Pinpointing concurrency bugs in Go via binary analysis. arXiv:2201.06753, 2022.
                 [18]  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 Int’l Conf. on Architectural Support for Programming Languages and Operating Systems. ACM, 2021. 616–629. [doi: 10.1145/
                     3445814.3446756]
                 [19]  Lange J, Ng N, Toninho B, Yoshida N. A static verification framework for message passing in go using behavioural types. In: Proc. of the
                     40th IEEE/ACM Int’l Conf. on Software Engineering. Gothenburg: IEEE, 2018. 1137–1148. [doi: 10.1145/3180155.3180157]
                 [20]  Wang C, Zhang MR, Jiang Y, Zhang HF, Xing ZC, Gu M. Escape from escape analysis of Golang. In: Proc. of the 42nd IEEE/ACM Int’l
                     Conf. on Software Engineering: Software Engineering in Practice. Seoul: IEEE, 2020. 142–151.
                 [21]  Luk  CK,  Cohn  R,  Muth  R,  Patil  H,  Klauser  A,  Lowney  G,  Wallace  S,  Reddi  VJ,  Hazelwood  K.  Pin:  Building  customized  program
                     Go. Go/issues/31573. 2019. https://github.com/golang/go/issues/31573
                     analysis tools with dynamic instrumentation. ACM Sigplan Notices, 2005, 40(6): 190–200. [doi: 10.1145/1064978.1065034]
                 [22]  Go. Goroutines. 2023. https://go.dev/doc/effective_go#goroutines
                 [23]  Go. A guide to the Go garbage collector. 2023. https://go.dev/doc/gc-guide
                 [24]  Go. Frequently asked questions (FAQ). 2023. https://go.dev/doc/faq#stack_or_heap
                 [25]  Go. Go escape analysis invariant. 2022. https://github.com/golang/go/blob/master/src/cmd/compile/internal/escape/escape.go#L22
                 [26]  Go. Go/test/escape.go. 2022. https://github.com/golang/go/blob/master/test/escape.go#L10
                 [27]  Go. Go/test/escape_level.go. 2022. https://github.com/golang/go/blob/master/test/escape_level.go#L14
                 [28]  Serebryany K, Bruening D, Potapenko A, Vyukov D. AddressSanitizer: A fast address sanity checker. In: Proc. of the 2012 USENIX
                     Annual Technical Conf. Boston: USENIX Association, 2012. 309–318.
                 [29]  Song D, Lettner J, Rajasekaran P, Na Y, Volckaert S, Larsen P, Franz M. SoK: Sanitizing for security. In: Proc. of the 2019 IEEE Symp.
                     on Security and Privacy. San Francisco: IEEE, 2019. 1275–1295. [doi: 10.1109/SP.2019.00010]
                 [30]  Szekeres L, Payer M, Wei T, Song D. SoK: Eternal war in memory. In: Proc. of the 2013 IEEE Symp. on Security and Privacy. Berkeley:
                     IEEE, 2013. 48–62. [doi: 10.1109/SP.2013.13]
                 [31]  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]
                 [32]  Go. Go internal ABI specification. 2022. https://github.com/golang/go/blob/master/src/cmd/compile/abi-internal.md
                 [33]  Lauinger J, Baumgärtner L, Wickert AK, Mezini M. Uncovering the hidden dangers: Finding unsafe Go code in the wild. In: Proc. of the
                     19th IEEE Int’l Conf. on Trust, Security and Privacy in Computing and Communications. Guangzhou: IEEE, 2020. 410–417. [doi: 10.
                     1109/TrustCom50675.2020.00063]
                 [34]  Uber-Go. Goleak. 2023. https://github.com/uber-go/goleak
                 [35]  Zeng  B.  Static  analysis  on  binary  code.  2012.  https://engineering.lehigh.edu/sites/engineering.lehigh.edu/files/_DEPARTMENTS/cse/
                     research/tech-reports/2012/lu-cse-12-001.pdf
                 [36]  Go. The Go programming language specification. 2023. https://go.dev/ref/spec
                 [37]  Go. Go/issues/29000. 2018. https://github.com/golang/go/issues/29000
                 [38]
                 [39]  Go. Go/issues/47276. 2021. https://github.com/golang/go/issues/47276
                 [40]  Rosenblatt  M.  Remarks  on  some  nonparametric  estimates  of  a  density  function.  The  Annals  of  Mathematical  Statistics,  1956,  27(3):
                     832–837. [doi: 10.1214/aoms/1177728190]
                 [41]  Parzen E. On estimation of a probability density function and mode. The Annals of Mathematical Statistics, 1962, 33(3): 1065–1076.
                     [doi: 10.1214/aoms/1177704472]
                 [42]  Nethercote N, Seward J. Valgrind: A framework for heavyweight dynamic binary instrumentation. ACM SIGPLAN Notices, 2007, 42(6):
                     89–100. [doi: 10.1145/1273442.1250746]
                 [43]  DynamoRIO. 2002. https://dynamorio.org/
                 [44]  Roy A, Hand S, Harris T. Hybrid binary rewriting for memory access instrumentation. In: Proc. of the 7th ACM SIGPLAN/SIGOPS Int’l
                     Conf. on Virtual Execution Environments. Newport Beach: ACM, 2011. 227–238. [doi: 10.1145/1952682.1952711]
   25   26   27   28   29   30   31   32   33   34   35