{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,27]],"date-time":"2026-02-27T03:47:48Z","timestamp":1772164068188,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":26,"publisher":"ACM","license":[{"start":{"date-parts":[[2014,9,15]],"date-time":"2014-09-15T00:00:00Z","timestamp":1410739200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2014,9,15]]},"DOI":"10.1145\/2658761.2658777","type":"proceedings-article","created":{"date-parts":[[2014,8,29]],"date-time":"2014-08-29T09:03:43Z","timestamp":1409303023000},"page":"133-141","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":6,"title":["Pin++: an object-oriented framework for writing pintools"],"prefix":"10.1145","author":[{"given":"James H.","family":"Hill","sequence":"first","affiliation":[{"name":"Indiana University-Purdue University at Indianapolis, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Dennis C.","family":"Feiock","sequence":"additional","affiliation":[{"name":"Indiana University-Purdue University at Indianapolis, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2014,9,15]]},"reference":[{"key":"e_1_3_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/1064978.1065034"},{"key":"e_1_3_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.5555\/2011943"},{"key":"e_1_3_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/1772954.1772958"},{"key":"e_1_3_2_1_4_1","first-page":"36","volume-title":"Proceedings of the Fourth Annual Workshop on Modeling, Benchmarking and Simulation (MoBS), co-located with ISCA","author":"Jaleel A.","year":"2008","unstructured":"A. Jaleel , R. S. Cohn , C.-K. Luk , and B. Jacob , \u201c Cmp$im: A pinbased on-the-fly multi-core cache simulator ,\u201d in Proceedings of the Fourth Annual Workshop on Modeling, Benchmarking and Simulation (MoBS), co-located with ISCA , 2008 , pp. 28\u2013 36 . A. Jaleel, R. S. Cohn, C.-K. Luk, and B. Jacob, \u201cCmp$im: A pinbased on-the-fly multi-core cache simulator,\u201d in Proceedings of the Fourth Annual Workshop on Modeling, Benchmarking and Simulation (MoBS), co-located with ISCA, 2008, pp. 28\u201336."},{"key":"e_1_3_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1109\/MC.2010.60"},{"key":"e_1_3_2_1_6_1","first-page":"320","volume-title":"Proceedings of the 10th USENIX conference on Operating Systems Design and Implementation. USENIX Association","author":"Attariyan M.","year":"2012","unstructured":"M. Attariyan , M. Chow , and J. Flinn , \u201c X-ray: automating root-cause diagnosis of performance anomalies in production software ,\u201d in Proceedings of the 10th USENIX conference on Operating Systems Design and Implementation. USENIX Association , 2012 , pp. 307\u2013 320 . M. Attariyan, M. Chow, and J. Flinn, \u201cX-ray: automating root-cause diagnosis of performance anomalies in production software,\u201d in Proceedings of the 10th USENIX conference on Operating Systems Design and Implementation. USENIX Association, 2012, pp. 307\u2013320."},{"key":"e_1_3_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.5555\/776261.776290"},{"key":"e_1_3_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1177\/109434200001400404"},{"key":"e_1_3_2_1_9_1","first-page":"28","volume-title":"6th Symposium on Operating Systems Design and Implementation","author":"Cantrill B. M.","year":"2004","unstructured":"B. M. Cantrill , M. W. Shapiro , and A. H. Leventhal , \u201c Dynamic Instrumentation of Production Systems ,\u201d in 6th Symposium on Operating Systems Design and Implementation , 2004 , pp. 15\u2013 28 . B. M. Cantrill, M. W. Shapiro, and A. H. Leventhal, \u201cDynamic Instrumentation of Production Systems,\u201d in 6th Symposium on Operating Systems Design and Implementation, 2004, pp. 15\u201328."},{"key":"e_1_3_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/1273442.1250746"},{"key":"e_1_3_2_1_11_1","unstructured":"Intel \u201cPin Manual \u201d http:\/\/software.intel.com\/sites\/landingpage\/ pintool\/docs\/61206\/Pin\/html.  Intel \u201cPin Manual \u201d http:\/\/software.intel.com\/sites\/landingpage\/ pintool\/docs\/61206\/Pin\/html."},{"key":"e_1_3_2_1_12_1","first-page":"34","volume-title":"Object Mentor","author":"Martin R. C.","year":"2000","unstructured":"R. C. Martin , \u201c Design Principles and Design Patterns ,\u201d Object Mentor , pp. 1\u2013 34 , 2000 . 1 Details about these feature can be found in the Pin++ Github repository, and on its wiki (github.com\/SEDS\/PinPP\/wiki). R. C. Martin, \u201cDesign Principles and Design Patterns,\u201d Object Mentor, pp. 1\u201334, 2000. 1 Details about these feature can be found in the Pin++ Github repository, and on its wiki (github.com\/SEDS\/PinPP\/wiki)."},{"key":"e_1_3_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1976.233837"},{"key":"e_1_3_2_1_14_1","volume-title":"Position Paper Collection of the 2nd Int. Workshop on Software Reusability, no. 93-69","author":"Hemmann T.","year":"1993","unstructured":"T. Hemmann , \u201c Reuse Approaches in Software Engineering and Knowledge Engineering: A Comparison ,\u201d in Position Paper Collection of the 2nd Int. Workshop on Software Reusability, no. 93-69 , 1993 . T. Hemmann, \u201cReuse Approaches in Software Engineering and Knowledge Engineering: A Comparison,\u201d in Position Paper Collection of the 2nd Int. Workshop on Software Reusability, no. 93-69, 1993."},{"key":"e_1_3_2_1_15_1","first-page":"19","volume-title":"Software Engineering\u2013ESEC\/FSE \u201999","author":"Czarnecki K.","year":"1999","unstructured":"K. Czarnecki and U. W. Eisenecker , \u201c Components and Generative Programming ,\u201d in Software Engineering\u2013ESEC\/FSE \u201999 . Springer , 1999 , pp. 2\u2013 19 . K. Czarnecki and U. W. Eisenecker, \u201cComponents and Generative Programming,\u201d in Software Engineering\u2013ESEC\/FSE \u201999. Springer, 1999, pp. 2\u201319."},{"key":"e_1_3_2_1_16_1","volume-title":"Design Patterns: Elements of Reusable Object-Oriented Software","author":"Gamma E.","year":"1995","unstructured":"E. Gamma , R. Helm , R. Johnson , and J. Vlissides , Design Patterns: Elements of Reusable Object-Oriented Software . Reading, MA : Addison-Wesley , 1995 . E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software. Reading, MA: Addison-Wesley, 1995."},{"key":"e_1_3_2_1_17_1","volume-title":"Generative Programming: Methods, Tools, and Applications","author":"Czarnecki K.","year":"2000","unstructured":"K. Czarnecki and U. Eisenecker , Generative Programming: Methods, Tools, and Applications . Addison-Wesley Professional , 2000 . K. Czarnecki and U. Eisenecker, Generative Programming: Methods, Tools, and Applications. Addison-Wesley Professional, 2000."},{"key":"e_1_3_2_1_18_1","volume-title":"C++ template metaprogramming: Concepts, tools, and techniques from boost and beyond","author":"Abrahams D.","year":"2004","unstructured":"D. Abrahams and A. Gurtovoy , C++ template metaprogramming: Concepts, tools, and techniques from boost and beyond . Addison-Wesley Professional , 2004 . D. Abrahams and A. Gurtovoy, C++ template metaprogramming: Concepts, tools, and techniques from boost and beyond. Addison-Wesley Professional, 2004."},{"key":"e_1_3_2_1_19_1","volume-title":"Clean Code: A Handbook of Agile Software Craftsmanship","author":"Martin R. C.","year":"2008","unstructured":"R. C. Martin , Clean Code: A Handbook of Agile Software Craftsmanship . Prentice Hall , 2008 . R. C. Martin, Clean Code: A Handbook of Agile Software Craftsmanship. Prentice Hall, 2008."},{"key":"e_1_3_2_1_20_1","volume-title":"AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis","author":"Brown W. H.","year":"1998","unstructured":"W. H. Brown , R. C. Malveau , and T. J. Mowbray , AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis . New York, NY : Wiley , 1998 . W. H. Brown, R. C. Malveau, and T. J. Mowbray, AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis. New York, NY: Wiley, 1998."},{"key":"e_1_3_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.5555\/229227.229229"},{"key":"e_1_3_2_1_22_1","volume-title":"Middleware for distributed systems - evolving the common structure for network-centric applications","author":"Schantz R. E.","year":"2001","unstructured":"R. E. Schantz and D. C. Schmidt , \u201c Middleware for distributed systems - evolving the common structure for network-centric applications ,\u201d 2001 . R. E. Schantz and D. C. Schmidt, \u201cMiddleware for distributed systems - evolving the common structure for network-centric applications,\u201d 2001."},{"key":"e_1_3_2_1_23_1","unstructured":"J. de Guzman \u201cBoost.Spirit \u201d http:\/\/boost-spirit.com.  J. de Guzman \u201cBoost.Spirit \u201d http:\/\/boost-spirit.com."},{"key":"e_1_3_2_1_24_1","volume-title":"Summary of the ISO EBNF Notation","unstructured":"ISO\/IEC , \u201c Summary of the ISO EBNF Notation ,\u201d www.dataip.co.uk\/ Reference\/EBNF. php. ISO\/IEC, \u201cSummary of the ISO EBNF Notation,\u201d www.dataip.co.uk\/ Reference\/EBNF.php."},{"key":"e_1_3_2_1_25_1","volume-title":"The ACE Programmer\u2019s Guide","author":"Huston S. D.","year":"2002","unstructured":"S. D. Huston , J. C. E. Johnson , and U. Syyid , The ACE Programmer\u2019s Guide . Boston : Addison-Wesley , 2002 . S. D. Huston, J. C. E. Johnson, and U. Syyid, The ACE Programmer\u2019s Guide. Boston: Addison-Wesley, 2002."},{"key":"e_1_3_2_1_26_1","volume-title":"More C++ Idioms","unstructured":"WikiBooks , \u201c More C++ Idioms ,\u201d http:\/\/en.wikibooks.org\/wiki\/More C%2B%2B Idioms\/Scope Guard . WikiBooks, \u201cMore C++ Idioms,\u201d http:\/\/en.wikibooks.org\/wiki\/More C%2B%2B Idioms\/Scope Guard."}],"event":{"name":"GPCE'14: Generative Programming: Concepts and Experiences","location":"V\u00e4ster\u00e5s Sweden","acronym":"GPCE'14","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages"]},"container-title":["Proceedings of the 2014 International Conference on Generative Programming: Concepts and Experiences"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2658761.2658777","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2658761.2658777","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T03:19:30Z","timestamp":1750216770000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2658761.2658777"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2014,9,15]]},"references-count":26,"alternative-id":["10.1145\/2658761.2658777","10.1145\/2658761"],"URL":"https:\/\/doi.org\/10.1145\/2658761.2658777","relation":{"is-identical-to":[{"id-type":"doi","id":"10.1145\/2775053.2658777","asserted-by":"object"}]},"subject":[],"published":{"date-parts":[[2014,9,15]]},"assertion":[{"value":"2014-09-15","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}