{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,9]],"date-time":"2025-10-09T16:55:42Z","timestamp":1760028942071,"version":"3.41.0"},"publisher-location":"New York, NY, USA","reference-count":38,"publisher":"ACM","license":[{"start":{"date-parts":[[2019,8,12]],"date-time":"2019-08-12T00:00:00Z","timestamp":1565568000000},"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":[[2019,8,12]]},"DOI":"10.1145\/3338906.3338946","type":"proceedings-article","created":{"date-parts":[[2019,8,9]],"date-time":"2019-08-09T12:21:03Z","timestamp":1565353263000},"page":"636-646","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":12,"title":["Java reflection API: revealing the dark side of the mirror"],"prefix":"10.1145","author":[{"given":"Felipe","family":"Pontes","sequence":"first","affiliation":[{"name":"Federal University of Campina Grande, Brazil"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Rohit","family":"Gheyi","sequence":"additional","affiliation":[{"name":"Federal University of Campina Grande, Brazil"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Sabrina","family":"Souto","sequence":"additional","affiliation":[{"name":"State University of Para\u00edba, Brazil"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Alessandro","family":"Garcia","sequence":"additional","affiliation":[{"name":"PUC-Rio, Brazil"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"M\u00e1rcio","family":"Ribeiro","sequence":"additional","affiliation":[{"name":"Federal University of Alagoas, Brazil"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2019,8,12]]},"reference":[{"key":"e_1_3_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/2388936.2388960"},{"key":"e_1_3_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/2642937.2642986"},{"key":"e_1_3_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/2884781.2884878"},{"key":"e_1_3_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/2908080.2908095"},{"key":"e_1_3_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.5555\/646159.680018"},{"key":"e_1_3_2_1_6_1","volume-title":"Refactoring: Improving the Design of Existing Code","author":"Fowler Martin","year":"1999","edition":"1"},{"key":"e_1_3_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/2025113.2025179"},{"key":"e_1_3_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/2950290.2983932"},{"key":"e_1_3_2_1_9_1","unstructured":"IBM. 2015. API Reference. https:\/\/www.ibm.com\/support\/knowledgecenter\/ SSYKE2_8.0.0\/com.ibm.java.api.80.doc\/api_overview.html.  IBM. 2015. API Reference. https:\/\/www.ibm.com\/support\/knowledgecenter\/ SSYKE2_8.0.0\/com.ibm.java.api.80.doc\/api_overview.html."},{"key":"e_1_3_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2017.53"},{"key":"e_1_3_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/1127878.1127884"},{"key":"e_1_3_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/2970276.2970356"},{"edition":"1","volume-title":"Java SE 8 Edition","author":"Lindholm Tim","key":"e_1_3_2_1_13_1"},{"edition":"1","volume-title":"Program Development in Java: Abstraction, Specification, and Object-Oriented Design","author":"Liskov Barbara","key":"e_1_3_2_1_14_1"},{"key":"e_1_3_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1007\/11575467_11"},{"key":"e_1_3_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/38807.38821"},{"key":"e_1_3_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.5555\/1792838.1792873"},{"key":"e_1_3_2_1_18_1","first-page":"100","article-title":"Differential Testing for Software","volume":"10","author":"McKeeman William","year":"1998","journal-title":"Digital Technical Journal"},{"key":"e_1_3_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2017.2688333"},{"key":"e_1_3_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSME.2014.59"},{"key":"e_1_3_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/2884781.2884790"},{"key":"e_1_3_2_1_23_1","unstructured":"Oracle. 2014. Class.getDeclaredFields Method Javadoc Specification. https: \/\/docs.oracle.com\/javase\/8\/docs\/api\/java\/lang\/Class.html#getDeclaredFields--.  Oracle. 2014. Class.getDeclaredFields Method Javadoc Specification. https: \/\/docs.oracle.com\/javase\/8\/docs\/api\/java\/lang\/Class.html#getDeclaredFields--."},{"key":"e_1_3_2_1_24_1","unstructured":"Oracle. 2014. Class.getDeclaredMethods Method Javadoc Specification. https:\/\/docs.oracle.com\/javase\/8\/docs\/api\/java\/lang\/Class.html# getDeclaredMethods--.  Oracle. 2014. Class.getDeclaredMethods Method Javadoc Specification. https:\/\/docs.oracle.com\/javase\/8\/docs\/api\/java\/lang\/Class.html# getDeclaredMethods--."},{"key":"e_1_3_2_1_25_1","unstructured":"Oracle. 2014. Class.getMethod Method Javadoc Specification. https: \/\/docs.oracle.com\/javase\/8\/docs\/api\/java\/lang\/Class.html#getMethodjava.lang.String-java.lang.Class...-.  Oracle. 2014. Class.getMethod Method Javadoc Specification. https: \/\/docs.oracle.com\/javase\/8\/docs\/api\/java\/lang\/Class.html#getMethodjava.lang.String-java.lang.Class...-."},{"key":"e_1_3_2_1_26_1","unstructured":"Oracle. 2014. How to Write Doc Comments for the Javadoc Tool. http:\/\/www. oracle.com\/technetwork\/java\/javase\/documentation\/index-137868.html.  Oracle. 2014. How to Write Doc Comments for the Javadoc Tool. http:\/\/www. oracle.com\/technetwork\/java\/javase\/documentation\/index-137868.html."},{"key":"e_1_3_2_1_27_1","unstructured":"Oracle. 2014. Java Reflection API Javadoc Specification. https:\/\/docs.oracle.com\/ javase\/8\/docs\/api\/java\/lang\/reflect\/package-summary.html.  Oracle. 2014. Java Reflection API Javadoc Specification. https:\/\/docs.oracle.com\/ javase\/8\/docs\/api\/java\/lang\/reflect\/package-summary.html."},{"key":"e_1_3_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2007.37"},{"edition":"1","volume-title":"Software Testing and Analysis: Process, Principles and Techniques","author":"Pezz\u00e8 Mauro","key":"e_1_3_2_1_29_1"},{"key":"e_1_3_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/3183440.3194964"},{"key":"e_1_3_2_1_31_1","doi-asserted-by":"crossref","unstructured":"Felipe Pontes Rohit Gheyi Sabrina Souto Alessandro Garcia and M\u00e1rcio Ribeiro. 2019. Java Reflection API: Revealing the Dark Side of the Mirror (Artifacts). http:\/\/www.dsc.ufcg.edu.br\/~spg\/fse2019.html.  Felipe Pontes Rohit Gheyi Sabrina Souto Alessandro Garcia and M\u00e1rcio Ribeiro. 2019. Java Reflection API: Revealing the Dark Side of the Mirror (Artifacts). http:\/\/www.dsc.ufcg.edu.br\/~spg\/fse2019.html.","DOI":"10.1145\/3338906.3338946"},{"key":"e_1_3_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1109\/MS.2009.193"},{"key":"e_1_3_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-010-9150-8"},{"key":"e_1_3_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.2174\/1874107X20130422001"},{"key":"e_1_3_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2015.86"},{"key":"e_1_3_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2012.19"},{"key":"e_1_3_2_1_37_1","first-page":"1","volume-title":"MetricMiner: Supporting Researchers in Mining Software Repositories. IEEE 13th International Working Conference on Source Code Analysis and Manipulation (SCAM) 1","author":"Sokol Francisco","year":"2013"},{"key":"e_1_3_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICST.2012.106"},{"key":"e_1_3_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1109\/MS.2014.80"}],"event":{"name":"ESEC\/FSE '19: 27th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering","sponsor":["SIGSOFT ACM Special Interest Group on Software Engineering"],"location":"Tallinn Estonia","acronym":"ESEC\/FSE '19"},"container-title":["Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3338906.3338946","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3338906.3338946","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T00:26:21Z","timestamp":1750206381000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3338906.3338946"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019,8,12]]},"references-count":38,"alternative-id":["10.1145\/3338906.3338946","10.1145\/3338906"],"URL":"https:\/\/doi.org\/10.1145\/3338906.3338946","relation":{},"subject":[],"published":{"date-parts":[[2019,8,12]]},"assertion":[{"value":"2019-08-12","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}