{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,1]],"date-time":"2026-05-01T23:07:16Z","timestamp":1777676836592,"version":"3.51.4"},"reference-count":47,"publisher":"Elsevier BV","license":[{"start":{"date-parts":[[2018,3,1]],"date-time":"2018-03-01T00:00:00Z","timestamp":1519862400000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/tdm\/userlicense\/1.0\/"}],"content-domain":{"domain":["elsevier.com","sciencedirect.com"],"crossmark-restriction":true},"short-container-title":["Journal of Systems and Software"],"published-print":{"date-parts":[[2018,3]]},"DOI":"10.1016\/j.jss.2017.11.024","type":"journal-article","created":{"date-parts":[[2017,12,2]],"date-time":"2017-12-02T04:48:30Z","timestamp":1512190110000},"page":"163-183","update-policy":"https:\/\/doi.org\/10.1016\/elsevier_cm_policy","source":"Crossref","is-referenced-by-count":15,"special_numbering":"C","title":["A Metrics Suite for code annotation assessment"],"prefix":"10.1016","volume":"137","author":[{"given":"Phyllipe","family":"Lima","sequence":"first","affiliation":[]},{"given":"Eduardo","family":"Guerra","sequence":"additional","affiliation":[]},{"given":"Paulo","family":"Meirelles","sequence":"additional","affiliation":[]},{"given":"Lucas","family":"Kanashiro","sequence":"additional","affiliation":[]},{"given":"H\u00e9lio","family":"Silva","sequence":"additional","affiliation":[]},{"given":"F\u00e1bio Fagundes","family":"Silveira","sequence":"additional","affiliation":[]}],"member":"78","reference":[{"key":"10.1016\/j.jss.2017.11.024_sbref0001","series-title":"Technical Report","article-title":"Code Legibility Analysis by Means of Annotation Patterns","author":"Alba","year":"2011"},{"key":"10.1016\/j.jss.2017.11.024_bib0002","series-title":"Technical Report","article-title":"Software Modeling and Measurement: The Goal\/Question\/Metric Paradigm","author":"Basili","year":"1992"},{"key":"10.1016\/j.jss.2017.11.024_bib0003","series-title":"Encyclopedia of Software Engineering","article-title":"The goal question metric approach","author":"Basili","year":"1994"},{"key":"10.1016\/j.jss.2017.11.024_bib0004","series-title":"Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications","first-page":"397","article-title":"Understanding the shape of java software","author":"Baxter","year":"2006"},{"issue":"1","key":"10.1016\/j.jss.2017.11.024_bib0005","doi-asserted-by":"crossref","first-page":"68","DOI":"10.1109\/32.481535","article-title":"Property-based software engineering measurement","volume":"22","author":"Briand","year":"1996","journal-title":"IEEE Trans. Softw. Eng."},{"key":"10.1016\/j.jss.2017.11.024_bib0006","unstructured":"Chen, N., 2006. Convention over configuration. URL: http:\/\/softwareengineering.vazexqi.com\/files\/pattern. html"},{"key":"10.1016\/j.jss.2017.11.024_sbref0006","article-title":"Power-law distributions in empirical data","author":"Clauset","year":"2007","journal-title":"SIAM Rev."},{"issue":"10","key":"10.1016\/j.jss.2017.11.024_bib0008","doi-asserted-by":"crossref","first-page":"687","DOI":"10.1109\/TSE.2007.1019","article-title":"Power-laws in a large object-oriented software system","volume":"33","author":"Concas","year":"2007","journal-title":"IEEE Trans. Softw. Eng."},{"key":"10.1016\/j.jss.2017.11.024_bib0009","series-title":"Proceedings of the 5th international conference on Computer systems and technologies","first-page":"1","article-title":"Metadata driven code generation using .net framework","author":"Damyanov","year":"2004"},{"key":"10.1016\/j.jss.2017.11.024_bib0010","doi-asserted-by":"crossref","unstructured":"Ernst, M. D., 2008. Type annotations specification (jsr 308).","DOI":"10.1163\/157338308X365594"},{"key":"10.1016\/j.jss.2017.11.024_bib0011","unstructured":"Fernandes, C., Ribeiro, D., Guerra, E., Nakao, E., 2010. Xml, annotations and database: a comparative study of metadata definition strategies for frameworks. May 19\u201320, Vila do Conde, 115."},{"key":"10.1016\/j.jss.2017.11.024_bib0012","series-title":"XXIII Brazilian Symposium on Software Engineering","first-page":"62","article-title":"Reference values for object-oriented software metrics","volume":"1","author":"Ferreira","year":"2009"},{"key":"10.1016\/j.jss.2017.11.024_bib0013","series-title":"Refactoring: Improving the Design of Existing Code","author":"Fowler","year":"1999"},{"key":"10.1016\/j.jss.2017.11.024_bib0014","series-title":"A Conceptual Model for Metadata-based Frameworks","author":"Guerra","year":"2010"},{"key":"10.1016\/j.jss.2017.11.024_bib0015","series-title":"Proceedings of the 8th Latin American Conference on Pattern Languages of Programs","first-page":"1","article-title":"Idioms for code annotations in the java language","author":"Guerra","year":"2010"},{"key":"10.1016\/j.jss.2017.11.024_bib0016","series-title":"A qualitative and quantitative analysis on metadata-based frameworks usage","first-page":"375","author":"Guerra","year":"2013"},{"key":"10.1016\/j.jss.2017.11.024_bib0017","series-title":"Proceedings of the 17th Conference on Pattern Languages of Programs","first-page":"1","article-title":"Architectural patterns for metadata-based frameworks usage","author":"Guerra","year":"2010"},{"key":"10.1016\/j.jss.2017.11.024_bib0018","series-title":"Proceedings of the 3rd Workshop on Assessment of Contemporary Modularization Techniques (ACoM\u201909), October","first-page":"35","article-title":"Questioning traditional metrics for applications which uses metadata-based frameworks","volume":"26","author":"Guerra","year":"2009"},{"key":"10.1016\/j.jss.2017.11.024_bib0019","series-title":"Proceedings of the 16th Conference on Pattern Languages of Programs","first-page":"3:1","article-title":"A pattern language for metadata-based frameworks","author":"Guerra","year":"2010"},{"key":"10.1016\/j.jss.2017.11.024_bib0035","series-title":"Software Metrics: Establishing A Company-Wide Program","author":"Grady","year":"1987"},{"key":"10.1016\/j.jss.2017.11.024_bib0020","series-title":"ICSOFT (2)","first-page":"5","article-title":"On the distribution of source code file sizes.","author":"Herraiz","year":"2011"},{"key":"10.1016\/j.jss.2017.11.024_bib0021","series-title":"Emerging Trends in Software Metrics (WETSoM), 2012 3rd International Workshop on","first-page":"56","article-title":"On the statistical distribution of object-oriented system properties","author":"Herraiz","year":"2012"},{"key":"10.1016\/j.jss.2017.11.024_bib0022","unstructured":"JSR, 2003. Jsr 153: Enterprise javabeans 2.1. URL: http:\/\/www.jcp.org\/en\/jsr\/detail?id=153"},{"key":"10.1016\/j.jss.2017.11.024_bib0023","unstructured":"JSR, 2004. Jsr 175: A metadata facility for the java programming language, URL: http:\/\/www.jcp.org\/en\/jsr\/detail?id=175."},{"key":"10.1016\/j.jss.2017.11.024_bib0024","unstructured":"JSR, 2007. Jsr 220: Enterprise javabeans 3.0. URL: http:\/\/jcp.org\/en\/jsr\/detail?id=220."},{"key":"10.1016\/j.jss.2017.11.024_bib0025","first-page":"203","article-title":"Towards enabling architectural refactorings through source code annotations","volume":"P-82","author":"Krahn","year":"2006","journal-title":"Lect. Notes Inf."},{"key":"10.1016\/j.jss.2017.11.024_bib0026","series-title":"Object-Oriented Metrics in Practice: Using Software Metrics to Characterize, Evaluate, and Improve the Design of Object-Oriented Systems","author":"Lanza","year":"2006"},{"key":"10.1016\/j.jss.2017.11.024_bib0027","unstructured":"Lombok, P., 2016. http:\/\/projectlombok.org\/."},{"issue":"1","key":"10.1016\/j.jss.2017.11.024_bib0028","doi-asserted-by":"crossref","first-page":"2:1","DOI":"10.1145\/1391984.1391986","article-title":"Power laws in software","volume":"18","author":"Louridas","year":"2008","journal-title":"ACM Trans. Softw. Eng. Methodol."},{"key":"10.1016\/j.jss.2017.11.024_bib0029","series-title":"Engineering of Computer Based Systems, 2006. ECBS 2006. 13th Annual IEEE International Symposium and Workshop on","first-page":"8pp.","article-title":"Supporting design patterns with annotations","author":"Meffert","year":"2006"},{"key":"10.1016\/j.jss.2017.11.024_sbref0023","series-title":"Monitoring Source Code Metrics in Free Software Projects","author":"Meirelles","year":"2013"},{"key":"10.1016\/j.jss.2017.11.024_bib0031","series-title":"The Common Language Infrastructure Annotated Standard","author":"Miller","year":"2004"},{"key":"10.1016\/j.jss.2017.11.024_bib0032","series-title":"Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering","first-page":"466","article-title":"Diversity in software engineering research","author":"Nagappan","year":"2013"},{"issue":"5","key":"10.1016\/j.jss.2017.11.024_bib0033","doi-asserted-by":"crossref","first-page":"99","DOI":"10.1145\/1060710.1060716","article-title":"Scale-free geometry in oo programs","volume":"48","author":"Potanin","year":"2005","journal-title":"Commun. ACM"},{"key":"10.1016\/j.jss.2017.11.024_sbref0027","series-title":"ECOOP 2008\u2013Object-Oriented Programming","first-page":"616","article-title":"Inference of reference immutability","author":"Quinonez","year":"2008"},{"key":"10.1016\/j.jss.2017.11.024_bib0036","series-title":"23rd International Conference on Software Engineering and Knowledge Engineering (SEKE)","first-page":"426","article-title":"How annotations are used in java: an empirical study","author":"Rocha","year":"2011"},{"key":"10.1016\/j.jss.2017.11.024_bib0037","series-title":"11th International ECOOP Workshop on Component-Oriented Programming (WCOP\u201906)","first-page":"10","article-title":"Leveraging component-oriented programming with attribute-oriented programming","author":"Rouvoy","year":"2006"},{"key":"10.1016\/j.jss.2017.11.024_bib0038","series-title":"5th International ECOOP Workshop on the Fractal Component Model (Fractal \u201906), Nantes, France","article-title":"Using attribute-oriented programming to leverage fractal-based developments","author":"Rouvoy","year":"2006"},{"key":"10.1016\/j.jss.2017.11.024_bib0039","series-title":"Agile Web Development with Rails, Third Edition","author":"Ruby","year":"2009"},{"key":"10.1016\/j.jss.2017.11.024_bib0040","unstructured":"Schwarz, D., 2004. Peeking inside the box: Attribute-oriented programming with java 1.5, part. URL: http:\/\/archive.oreilly.com\/pub\/a\/onjava\/2004\/06\/30\/insidebox1.html."},{"key":"10.1016\/j.jss.2017.11.024_bib0041","series-title":"Software Engineering Conference (APSEC), 2010 17th Asia Pacific","first-page":"336","article-title":"The qualitas corpus: a curated collection of java code for empirical studies","author":"Tempero","year":"2010"},{"issue":"12","key":"10.1016\/j.jss.2017.11.024_sbref0034","doi-asserted-by":"crossref","first-page":"800","DOI":"10.1109\/TSE.2007.70745","article-title":"On the detection of test smells: A metrics-based approach for general fixture and eager test","volume":"33","author":"Van Rompaey","year":"2007","journal-title":"Software Engineering, IEEE Trans."},{"key":"10.1016\/j.jss.2017.11.024_sbref0035","doi-asserted-by":"crossref","first-page":"584","DOI":"10.1007\/11557432_44","article-title":"Modeling turnpike frontend system: A model-driven development framework leveraging uml metamodeling and attribute-oriented programming","author":"Wada","year":"2005","journal-title":"Model Driven Engineering Languages and Systems"},{"key":"10.1016\/j.jss.2017.11.024_sbref0036","series-title":"XDoclet in action","author":"Walls","year":"2003"},{"key":"10.1016\/j.jss.2017.11.024_sbref0037","series-title":"Java Open Source programming: with XDoclet, JUnit, WebWork, Hibernate","author":"Walnes","year":"2003"},{"key":"10.1016\/j.jss.2017.11.024_bib0046","series-title":"Proceedings of the Third IEEE International Workshop on Source Code Analysis and Manipulation (SCAM \u201903). Amsterdam, The Netherlands","first-page":"45","article-title":"Power law distributions in class relationships","author":"Wheeldon","year":"2003"},{"key":"10.1016\/j.jss.2017.11.024_bib0047","series-title":"Proceedings of the 2009 Second International Conference on Information and Computing Science","first-page":"401","article-title":"Scale-free property in large scale object-oriented software and its significance on software engineering","author":"Yao","year":"2009"}],"container-title":["Journal of Systems and Software"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S016412121730273X?httpAccept=text\/xml","content-type":"text\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S016412121730273X?httpAccept=text\/plain","content-type":"text\/plain","content-version":"vor","intended-application":"text-mining"}],"deposited":{"date-parts":[[2019,10,7]],"date-time":"2019-10-07T04:46:49Z","timestamp":1570423609000},"score":1,"resource":{"primary":{"URL":"https:\/\/linkinghub.elsevier.com\/retrieve\/pii\/S016412121730273X"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018,3]]},"references-count":47,"alternative-id":["S016412121730273X"],"URL":"https:\/\/doi.org\/10.1016\/j.jss.2017.11.024","relation":{},"ISSN":["0164-1212"],"issn-type":[{"value":"0164-1212","type":"print"}],"subject":[],"published":{"date-parts":[[2018,3]]},"assertion":[{"value":"Elsevier","name":"publisher","label":"This article is maintained by"},{"value":"A Metrics Suite for code annotation assessment","name":"articletitle","label":"Article Title"},{"value":"Journal of Systems and Software","name":"journaltitle","label":"Journal Title"},{"value":"https:\/\/doi.org\/10.1016\/j.jss.2017.11.024","name":"articlelink","label":"CrossRef DOI link to publisher maintained version"},{"value":"article","name":"content_type","label":"Content Type"},{"value":"\u00a9 2017 Elsevier Inc. All rights reserved.","name":"copyright","label":"Copyright"}]}}