{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,27]],"date-time":"2026-02-27T14:54:37Z","timestamp":1772204077143,"version":"3.50.1"},"reference-count":53,"publisher":"Association for Computing Machinery (ACM)","issue":"1","funder":[{"DOI":"10.13039\/501100012166","name":"National Key R&D Program of China","doi-asserted-by":"crossref","award":["2024YFB4506400"],"award-info":[{"award-number":["2024YFB4506400"]}],"id":[{"id":"10.13039\/501100012166","id-type":"DOI","asserted-by":"crossref"}]},{"name":"CCF-Huawei Populus Grove Fund, and the National Research Foundation","award":["NRF-NRFI08-2022-0002"],"award-info":[{"award-number":["NRF-NRFI08-2022-0002"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Softw. Eng. Methodol."],"published-print":{"date-parts":[[2026,1,31]]},"abstract":"<jats:p>Improving the performance of software applications is one of the most important tasks in software evolution and maintenance. In the Intel Microarchitecture, CPUs employ pipelining to utilize resources as effectively as possible. Some types of software patterns or algorithms can have implications on the underlying CPU pipelines and result in inefficiencies. Therefore, analyzing how well the CPU\u2019s pipeline(s) are being utilized while running an application is important in software performance analysis. Existing techniques, such as Intel VTune Profiler, usually detect software performance issues from CPU pipeline metrics after the software enters production and during the running time. These techniques require developers to manually analyze monitoring data and perform additional test runs to obtain relevant information about performance problems. It costs a lot of time and human effort for developers to build, deploy, test, execute, and monitor the software.<\/jats:p>\n                  <jats:p>\n                    To alleviate these problems, we propose a novel approach named\n                    <jats:sc>PGProf<\/jats:sc>\n                    to predict the CPU pipeline before execution and provide the profiling feedback during the development process.\n                    <jats:sc>PGProf<\/jats:sc>\n                    exploits the graph neural networks to learn semantic and structural representations for C functions and then predict the fraction of pipeline slots in each category for them during the development process. Given a code snippet, we fuse different types of code structures, e.g., Abstract Syntax Tree (AST), Dataflow Graph (DFG), and Control Flow Graph (CFG) into one program graph. During offline learning, we first leverage the gated graph neural network to capture representations of C functions.\n                    <jats:sc>PGProf<\/jats:sc>\n                    then automatically estimates the final pipeline values according to the learned semantic and structural features. For online prediction, we predict pipeline metrics with four category values by leveraging the offline trained model. We build our dataset from C projects in GitHub and use Intel VTune profiler to get profiling information by running them. Extensive experimental results show the promising performance of our model. We achieved absolute result of 49.90% and 79.44% in terms of\n                    <jats:inline-formula content-type=\"math\/tex\">\n                      <jats:tex-math notation=\"LaTeX\" version=\"MathJax\">\\(Acc@5\\%\\)<\/jats:tex-math>\n                    <\/jats:inline-formula>\n                    and\n                    <jats:inline-formula content-type=\"math\/tex\">\n                      <jats:tex-math notation=\"LaTeX\" version=\"MathJax\">\\(Acc@10\\%\\)<\/jats:tex-math>\n                    <\/jats:inline-formula>\n                    with improvements of 8.0%\u201342.7% and 7.8%\u201320.1% over a set of baselines.\n                  <\/jats:p>","DOI":"10.1145\/3725212","type":"journal-article","created":{"date-parts":[[2025,3,26]],"date-time":"2025-03-26T11:56:19Z","timestamp":1742990179000},"page":"1-25","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":1,"title":["Towards On-the-Fly Code Performance Profiling"],"prefix":"10.1145","volume":"35","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-0093-3292","authenticated-orcid":false,"given":"Xing","family":"Hu","sequence":"first","affiliation":[{"name":"Zhejiang University, Hangzhou, China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0009-0001-2212-5299","authenticated-orcid":false,"given":"Weixin","family":"Lin","sequence":"additional","affiliation":[{"name":"Zhejiang University, Hangzhou, China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0009-0000-7768-7312","authenticated-orcid":false,"given":"Zhuang","family":"Liu","sequence":"additional","affiliation":[{"name":"Zhejiang University, Hangzhou, China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4303-7850","authenticated-orcid":false,"given":"Michael","family":"Ling","sequence":"additional","affiliation":[{"name":"Huawei Technologies Co., Ltd., Toronto, Ontario, Canada"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-6302-3256","authenticated-orcid":false,"given":"Xin","family":"Xia","sequence":"additional","affiliation":[{"name":"Zhejiang University, Hangzhou, China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0009-0004-4042-4550","authenticated-orcid":false,"given":"Yuan","family":"Wang","sequence":"additional","affiliation":[{"name":"Huawei Technologies Co., Ltd., Stockholm, Sweden"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-4367-7201","authenticated-orcid":false,"given":"David","family":"Lo","sequence":"additional","affiliation":[{"name":"School of Computing and Information Systems, Singapore Management University, Singapore, Singapore"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2025,12,11]]},"reference":[{"key":"e_1_3_2_2_2","first-page":"105","volume-title":"Power and Performance","author":"Jim Kukunas","year":"2015","unstructured":"Kukunas Jim. 2015. Chapter 6\u2014Introduction to profiling. In Power and Performance. Jim Kukunas (Ed.), Morgan Kaufmann, Boston, 105\u2013118."},{"key":"e_1_3_2_3_2","first-page":"1","volume-title":"Proceedings of the 2016 IEEE\/ACM 13th Working Conference on Mining Software Repositories (MSR)","author":"Ahmed Tarek M.","year":"2016","unstructured":"Tarek M. Ahmed, Cor-Paul Bezemer, Tse-Hsun Chen, Ahmed E. Hassan, and Weiyi Shang. 2016. Studying the effectiveness of Application Performance Management (APM) tools for detecting performance regressions for web applications: An experience report. In Proceedings of the 2016 IEEE\/ACM 13th Working Conference on Mining Software Repositories (MSR), 1\u201312."},{"key":"e_1_3_2_4_2","doi-asserted-by":"publisher","DOI":"10.1145\/3292500.3330701"},{"key":"e_1_3_2_5_2","doi-asserted-by":"publisher","DOI":"10.1145\/3212695"},{"key":"e_1_3_2_6_2","unstructured":"Miltiadis Allamanis Marc Brockschmidt and Mahmoud Khademi. 2017. Learning to represent programs with graphs. arXiv:1711.00740. Retrieved from https:\/\/arxiv.org\/abs\/1711.00740"},{"key":"e_1_3_2_7_2","first-page":"490","volume-title":"Proceedings of the 2021 IEEE\/ACM 29th International Conference on Program Comprehension (ICPC)","author":"Beigelbeck Aaron","year":"2021","unstructured":"Aaron Beigelbeck, Maur\u00edcio Aniche, and J\u00fcrgen Cito. 2021. Interactive static software performance analysis in the IDE. In Proceedings of the 2021 IEEE\/ACM 29th International Conference on Program Comprehension (ICPC). IEEE, 490\u2013494."},{"key":"e_1_3_2_8_2","doi-asserted-by":"publisher","DOI":"10.1023\/A:1010933404324"},{"key":"e_1_3_2_9_2","doi-asserted-by":"publisher","DOI":"10.1145\/3436877"},{"key":"e_1_3_2_10_2","doi-asserted-by":"publisher","DOI":"10.3115\/v1\/W14-4012"},{"key":"e_1_3_2_11_2","doi-asserted-by":"crossref","first-page":"41","DOI":"10.1145\/3183440.3183481","volume-title":"Proceedings of the 40th International Conference on Software Engineering: Companion Proceedings","author":"Cito J\u00fcrgen","year":"2018","unstructured":"J\u00fcrgen Cito, Philipp Leitner, Christian Bosshard, Markus Knecht, Genc Mazlami, and Harald C. Gall. 2018. PerformanceHat: Augmenting source code with runtime performance traces in the IDE. In Proceedings of the 40th International Conference on Software Engineering: Companion Proceedings, 41\u201344."},{"key":"e_1_3_2_12_2","first-page":"971","volume-title":"Proceedings of the 2019 IEEE\/ACM 41st International Conference on Software Engineering (ICSE)","author":"Cito J\u00fcrgen","year":"2019","unstructured":"J\u00fcrgen Cito, Philipp Leitner, Martin Rinard, and Harald C. Gall. 2019. Interactive production performance feedback in the IDE. In Proceedings of the 2019 IEEE\/ACM 41st International Conference on Software Engineering (ICSE). IEEE, 971\u2013981."},{"key":"e_1_3_2_13_2","doi-asserted-by":"publisher","DOI":"10.1145\/2950290.2950360"},{"issue":"7","key":"e_1_3_2_14_2","doi-asserted-by":"crossref","first-page":"3","DOI":"10.1145\/2007477.1952686","article-title":"Performance profiling of virtual machines","volume":"46","author":"Du Jiaqing","year":"2011","unstructured":"Jiaqing Du, Nipun Sehrawat, and Willy Zwaenepoel. 2011. Performance profiling of virtual machines. SIGPLAN Notices 46, 7 (Mar. 2011), 3\u201314.","journal-title":"SIGPLAN Notices"},{"key":"e_1_3_2_15_2","doi-asserted-by":"publisher","DOI":"10.1145\/1242531.1242553"},{"key":"e_1_3_2_16_2","first-page":"1263","volume-title":"Proceedings of the International Conference on Machine Learning","author":"Gilmer Justin","year":"2017","unstructured":"Justin Gilmer, Samuel S. Schoenholz, Patrick F. Riley, Oriol Vinyals, and George E. Dahl. 2017. Neural message passing for quantum chemistry. In Proceedings of the International Conference on Machine Learning. PMLR, 1263\u20131272."},{"key":"e_1_3_2_17_2","doi-asserted-by":"publisher","DOI":"10.1145\/2786805.2786831"},{"key":"e_1_3_2_18_2","doi-asserted-by":"crossref","first-page":"120","DOI":"10.1145\/800230.806987","volume-title":"Proceedings of the 1982 SIGPLAN Symposium on Compiler Construction (SIGPLAN \u201982)","author":"Graham Susan L.","year":"1982","unstructured":"Susan L. Graham, Peter B. Kessler, and Marshall K. Mckusick. 1982. Gprof: A call graph execution profiler. In Proceedings of the 1982 SIGPLAN Symposium on Compiler Construction (SIGPLAN \u201982). ACM, New York, NY, 120\u2013126."},{"key":"e_1_3_2_19_2","doi-asserted-by":"publisher","DOI":"10.1145\/3180155.3180167"},{"key":"e_1_3_2_20_2","unstructured":"Daya Guo Shuai Lu Nan Duan Yanlin Wang Ming Zhou and Jian Yin. 2022. UniXcoder: Unified cross-modal pre-training for code representation. arXiv:2203.03850. Retrieved from https:\/\/arxiv.org\/abs\/2203.03850"},{"key":"e_1_3_2_21_2","first-page":"1","volume-title":"Proceedings of the Large Installation System Administration Conference (LISA)","volume":"18","author":"Hamilton James R.","year":"2007","unstructured":"James R. Hamilton. 2007. On designing and deploying internet-scale services. In Proceedings of the Large Installation System Administration Conference (LISA), Vol. 18, 1\u201318."},{"key":"e_1_3_2_22_2","doi-asserted-by":"publisher","DOI":"10.1145\/3524842.3527949"},{"key":"e_1_3_2_23_2","doi-asserted-by":"publisher","DOI":"10.1162\/neco.1997.9.8.1735"},{"key":"e_1_3_2_24_2","first-page":"263","volume-title":"Proceedings of the 2017 IEEE 15th International Conference on Software Engineering Research, Management and Applications (SERA)","author":"Hu Erh-Wen","year":"2017","unstructured":"Erh-Wen Hu, Bogong Su, and Jian Wang. 2017. Software performance prediction at source level. In Proceedings of the 2017 IEEE 15th International Conference on Software Engineering Research, Management and Applications (SERA), 263\u2013270."},{"key":"e_1_3_2_25_2","doi-asserted-by":"publisher","DOI":"10.1145\/3472883.3486994"},{"key":"e_1_3_2_26_2","unstructured":"Boris Iglewicz and David C. Hoaglin. 1993. Volume 16: How to Detect and Handle Outliers. Quality Press."},{"key":"e_1_3_2_27_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.simpat.2016.08.006"},{"key":"e_1_3_2_28_2","doi-asserted-by":"publisher","DOI":"10.1145\/2786805.2786860"},{"key":"e_1_3_2_29_2","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-015-9400-x"},{"key":"e_1_3_2_30_2","first-page":"249","volume-title":"Proceedings of the 2017 IEEE International Conference on Software Maintenance and Evolution (ICSME)","author":"Li Liuqing","year":"2017","unstructured":"Liuqing Li, He Feng, Wenjie Zhuang, Na Meng, and Barbara Ryder. 2017. CCLearner: A deep learning-based clone detection approach. In Proceedings of the 2017 IEEE International Conference on Software Maintenance and Evolution (ICSME). IEEE, 249\u2013260."},{"key":"e_1_3_2_31_2","volume-title":"Proceedings of International Conference on Learning Representations (ICLR \u201916)","author":"Li Yujia","year":"2016","unstructured":"Yujia Li, Richard Zemel, Marc Brockschmidt, and Daniel Tarlow. 2016. Gated graph sequence neural networks. In Proceedings of International Conference on Learning Representations (ICLR \u201916)."},{"key":"e_1_3_2_32_2","doi-asserted-by":"publisher","DOI":"10.1145\/3324884.3416591"},{"key":"e_1_3_2_33_2","unstructured":"Yinhan Liu Myle Ott Naman Goyal Jingfei Du Mandar Joshi Danqi Chen Omer Levy Mike Lewis Luke Zettlemoyer and Veselin Stoyanov. 2019. RoBERTa: A robustly optimized BERT pretraining approach. arXiv:1907.11692. Retrieved from https:\/\/arxiv.org\/abs\/1907.11692"},{"key":"e_1_3_2_34_2","doi-asserted-by":"publisher","DOI":"10.1145\/3324884.3416581"},{"key":"e_1_3_2_35_2","unstructured":"Ilya Loshchilov and Frank Hutter. 2017. Decoupled weight decay regularization. arXiv:1711.05101. Retrieved from https:\/\/arxiv.org\/abs\/1711.05101"},{"key":"e_1_3_2_36_2","doi-asserted-by":"publisher","DOI":"10.1145\/3460945.3464952"},{"key":"e_1_3_2_37_2","first-page":"132","volume-title":"Proceedings of the Database Systems for 28th International Conference on Advanced Applications (DASFAA \u201923), Part I","author":"Miao Hao","year":"2023","unstructured":"Hao Miao, Jiazun Chen, Yang Lin, Mo Xu, Yinjun Han, and Jun Gao. 2023. JG2Time: A learned time estimator for join operators based on heterogeneous join-graphs. In Proceedings of the Database Systems for 28th International Conference on Advanced Applications (DASFAA \u201923), Part I. Springer, 132\u2013147."},{"key":"e_1_3_2_38_2","doi-asserted-by":"publisher","DOI":"10.1609\/aaai.v33i01.33014602"},{"key":"e_1_3_2_39_2","doi-asserted-by":"crossref","first-page":"32","DOI":"10.1145\/207110.207114","volume-title":"Proceedings of the ACM SIGPLAN 1995 Conference on Programming Language Design and Implementation","author":"Pingali Keshav","year":"1995","unstructured":"Keshav Pingali and Gianfranco Bilardi. 1995. APT: A data structure for optimal control dependence computation. In Proceedings of the ACM SIGPLAN 1995 Conference on Programming Language Design and Implementation, 32\u201346."},{"key":"e_1_3_2_40_2","first-page":"11","volume-title":"Proceedings of the 14th ACM\/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM \u201920)","author":"Shu Yangyang","year":"2020","unstructured":"Yangyang Shu, Yulei Sui, Hongyu Zhang, and Guandong Xu. 2020. Perf-AL: Performance prediction for configurable software through adversarial learning. In Proceedings of the 14th ACM\/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM \u201920). ACM, New York, NY, Article 16, 11 pages."},{"key":"e_1_3_2_41_2","doi-asserted-by":"publisher","DOI":"10.5555\/2627435.2670313"},{"key":"e_1_3_2_42_2","doi-asserted-by":"publisher","DOI":"10.1145\/2892208.2892235"},{"key":"e_1_3_2_43_2","article-title":"Attention is all you need","author":"Vaswani Ashish","year":"2017","unstructured":"Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, \u0141ukasz Kaiser, and Illia Polosukhin. 2017. Attention is all you need. In Proceedings of the Advances in Neural Information Processing Systems 30.","journal-title":"Proceedings of the Advances in Neural Information Processing Systems 30"},{"key":"e_1_3_2_44_2","doi-asserted-by":"publisher","DOI":"10.1109\/SANER48275.2020.9054857"},{"key":"e_1_3_2_45_2","doi-asserted-by":"publisher","DOI":"10.1145\/3377811.3380429"},{"key":"e_1_3_2_46_2","first-page":"232","volume-title":"Proceedings of the 2021 IEEE\/ACM 43rd International Conference on Software Engineering: Companion Proceedings (ICSE-Companion","author":"Weber Max","year":"2021","unstructured":"Max Weber, Sven Apel, and Norbert Siegmund. 2021. White-box performance-influence models: A profiling and learning approach (replication package). In Proceedings of the 2021 IEEE\/ACM 43rd International Conference on Software Engineering: Companion Proceedings (ICSE-Companion), 232\u2013233."},{"key":"e_1_3_2_47_2","first-page":"87","volume-title":"Proceedings of the 2016 31st IEEE\/ACM International Conference on Automated Software Engineering (ASE)","author":"White Martin","year":"2016","unstructured":"Martin White, Michele Tufano, Christopher Vendome, and Denys Poshyvanyk. 2016. Deep learning code fragments for code clone detection. In Proceedings of the 2016 31st IEEE\/ACM International Conference on Automated Software Engineering (ASE). IEEE, 87\u201398."},{"key":"e_1_3_2_48_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-4612-4380-9_16"},{"key":"e_1_3_2_49_2","first-page":"2541","volume-title":"IEEE Transactions on Software Engineering","volume":"48","author":"Wu Xiaoxue","year":"2021","unstructured":"Xiaoxue Wu, Wei Zheng, Xin Xia, and David Lo. 2021. Data quality matters: A case study on data label correctness for security bug report prediction. IEEE Transactions on Software Engineering 48, 7 (2021), 2541\u20132556."},{"key":"e_1_3_2_50_2","first-page":"419","volume-title":"Proceedings of the 30th ACM SIGPLAN Conference on Programming Language Design and Implementation","author":"Xu Guoqing","year":"2009","unstructured":"Guoqing Xu, Matthew Arnold, Nick Mitchell, Atanas Rountev, and Gary Sevitsky. 2009. Go with the flow: Profiling copies to find runtime bloat. In Proceedings of the 30th ACM SIGPLAN Conference on Programming Language Design and Implementation, 419\u2013430."},{"key":"e_1_3_2_51_2","doi-asserted-by":"publisher","DOI":"10.1109\/SP.2014.44"},{"key":"e_1_3_2_52_2","doi-asserted-by":"crossref","unstructured":"Ahmad Yasin. 2014. A top-sown method for performance analysis and counters architecture. In 2014 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS) Monterey CA. IEEE 35\u201344.","DOI":"10.1109\/ISPASS.2014.6844459"},{"key":"e_1_3_2_53_2","first-page":"705","volume-title":"Proceedings of the 2021 36th IEEE\/ACM International Conference on Automated Software Engineering (ASE)","author":"Zhou Jiayuan","year":"2021","unstructured":"Jiayuan Zhou, Michael Pacheco, Zhiyuan Wan, Xin Xia, David Lo, Yuan Wang, and Ahmed E. Hassan. 2021. Finding a needle in a haystack: Automated mining of silent vulnerability fixes. In Proceedings of the 2021 36th IEEE\/ACM International Conference on Automated Software Engineering (ASE). IEEE, 705\u2013716."},{"key":"e_1_3_2_54_2","doi-asserted-by":"publisher","DOI":"10.1145\/3468264.3468544"}],"container-title":["ACM Transactions on Software Engineering and Methodology"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3725212","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,12,11]],"date-time":"2025-12-11T15:57:17Z","timestamp":1765468637000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3725212"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,12,11]]},"references-count":53,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2026,1,31]]}},"alternative-id":["10.1145\/3725212"],"URL":"https:\/\/doi.org\/10.1145\/3725212","relation":{},"ISSN":["1049-331X","1557-7392"],"issn-type":[{"value":"1049-331X","type":"print"},{"value":"1557-7392","type":"electronic"}],"subject":[],"published":{"date-parts":[[2025,12,11]]},"assertion":[{"value":"2023-08-29","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2025-02-22","order":2,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2025-12-11","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}