{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T04:11:24Z","timestamp":1750219884170,"version":"3.41.0"},"publisher-location":"Cham","reference-count":30,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783319557915"},{"type":"electronic","value":"9783319557922"}],"license":[{"start":{"date-parts":[[2017,1,1]],"date-time":"2017-01-01T00:00:00Z","timestamp":1483228800000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2017]]},"DOI":"10.1007\/978-3-319-55792-2_2","type":"book-chapter","created":{"date-parts":[[2017,3,24]],"date-time":"2017-03-24T14:39:30Z","timestamp":1490366370000},"page":"20-34","source":"Crossref","is-referenced-by-count":4,"title":["On the Use of Smelly Examples to Detect Code Smells in JavaScript"],"prefix":"10.1007","author":[{"given":"Ian","family":"Shoenberger","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Mohamed Wiem","family":"Mkaouer","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Marouane","family":"Kessentini","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2017,3,25]]},"reference":[{"key":"2_CR1","doi-asserted-by":"crossref","unstructured":"Richards, G., Lebresne, S., Burg, B., Vitek, J.: An analysis of the dynamic behavior of JavaScript programs. In: Proceedings of the 31st ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2010, Toronto, Ontario, Canada, pp. 1\u201312 (2010)","DOI":"10.1145\/1806596.1806598"},{"key":"2_CR2","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"52","DOI":"10.1007\/978-3-642-22655-7_4","volume-title":"ECOOP 2011 \u2013 Object-Oriented Programming","author":"G Richards","year":"2011","unstructured":"Richards, G., Hammer, C., Burg, B., Vitek, J.: The eval that men do. In: Mezini, M. (ed.) ECOOP 2011. LNCS, vol. 6813, pp. 52\u201378. Springer, Heidelberg (2011). doi: 10.1007\/978-3-642-22655-7_4"},{"key":"2_CR3","unstructured":"Ratanaworabhan, P., Livshits, B., Zorn, B.G.: JSMeter: comparing the behavior of JavaScript benchmarks with real web applications. In: WebApps 2010, vol. 10, p. 3 (2010)"},{"key":"2_CR4","doi-asserted-by":"crossref","unstructured":"Nikiforakis, N., Invernizzi, L., Kapravelos, A., Van Acker, S., Joosen, W., Kruegel, C., Piessens, F., Vigna, G.: You are what you include: large-scale evaluation of remote JavaScript inclusions. In: Proceedings of the 2012 ACM Conference on Computer and Communications Security, CCS 2012, Raleigh, North Carolina, USA, pp. 736\u2013747 (2012)","DOI":"10.1145\/2382196.2382274"},{"key":"2_CR5","doi-asserted-by":"crossref","unstructured":"Guarnieri, S., Pistoia, M., Tripp, O., Dolby, J., Teilhet, S., Berg, R.: Saving the world wide web from vulnerable JavaScript. In: Proceedings of the 2011 International Symposium on Software Testing and Analysis, ISSTA 2011, Toronto, Ontario, Canada, pp. 177\u2013187 (2011)","DOI":"10.1145\/2001420.2001442"},{"key":"2_CR6","volume-title":"Refactoring: improving the design of existing programs","author":"M Fowler","year":"1999","unstructured":"Fowler, M., Beck, K., Brant, J., Opdyke, W., Roberts, D.: Refactoring: improving the design of existing programs. Addison-Wesley Longman Publishing Co., Inc., Boston (1999)"},{"key":"2_CR7","doi-asserted-by":"crossref","unstructured":"Madsen, M., Tip, F., Andreasen, E., Sen, K., M\u00f8ller, A.: Feedback-directed instrumentation for deployed JavaScript applications. In: Proceedings of the 38th International Conference on Software Engineering, ICSE 2016, Austin, Texas, pp. 899\u2013910 (2016)","DOI":"10.1145\/2884781.2884846"},{"key":"2_CR8","unstructured":"Crockford, D.: JSLint: The javascript code quality tool, 95 (2011). http:\/\/www.jslint.com"},{"key":"2_CR9","unstructured":"Kovalyov, A., Kluge, W., Perez, J.: JSHint, a JavaScript code quality tool (2010)"},{"key":"2_CR10","doi-asserted-by":"crossref","unstructured":"Pradel, M., Schuh, P., Sen, K.: TypeDevil: Dynamic type inconsistency analysis for JavaScript. In: Proceedings of the 37th International Conference on Software Engineering, ICSE 2015, Florence, Italy, pp. 314\u2013324 (2015)","DOI":"10.1109\/ICSE.2015.51"},{"key":"2_CR11","doi-asserted-by":"crossref","unstructured":"Raychev, V., Vechev, M., Sridharan, M.: Effective race detection for event-driven programs. In: Proceedings of the 2013 ACM SIGPLAN International Conference, OOPSLA 2013, Indianapolis, Indiana, USA, pp. 151\u2013166 (2013)","DOI":"10.1145\/2509136.2509538"},{"key":"2_CR12","doi-asserted-by":"crossref","unstructured":"Mesbah, A., Prasad, M.R.: Automated cross-browser compatibility testing. In: Proceedings of the 33rd International Conference on Software Engineering, ICSE 2011, Waikiki, Honolulu, HI, USA, pp. 561\u2013570 (2011)","DOI":"10.1145\/1985793.1985870"},{"key":"2_CR13","doi-asserted-by":"crossref","unstructured":"Fard, A.M., Mesbah, A.: JSNOSE: detecting JavaScript code smells. In: Proceedings of the 13th IEEE International Conference on Source Code Analysis and Manipulation, SCAM 2013, pp. 116\u2013125 (2013)","DOI":"10.1109\/SCAM.2013.6648192"},{"key":"2_CR14","doi-asserted-by":"crossref","unstructured":"Marinescu, R., Ganea, G., Verebi, I.: inCode: continuous quality assessment and improvement. In: Proceedings of the 14th European Conference on Software Maintenance and Reengineering, pp. 274\u2013275 (2010)","DOI":"10.1109\/CSMR.2010.44"},{"key":"2_CR15","doi-asserted-by":"crossref","unstructured":"Palomba, F., Bavota, G., Di Penta, M., Oliveto, R., De Lucia, A., Poshyvanyk, D.: Detecting bad smells in source code using change history information. In: 2013 IEEE\/ACM 28th International Conference on Automated Software Engineering (2013)","DOI":"10.1109\/ASE.2013.6693086"},{"key":"2_CR16","doi-asserted-by":"crossref","unstructured":"Palomba, F.: Textual analysis for code smell detection. In: Proceedings of the 37th International Conference on Software Engineering, ICSE 2015, Florence, Italy, pp. 769\u2013771 (2015)","DOI":"10.1109\/ICSE.2015.244"},{"key":"2_CR17","unstructured":"Garrett, J.J.: Ajax: a new approach to web applications (2005)"},{"key":"2_CR18","doi-asserted-by":"crossref","unstructured":"Cornelissen, B., Zaidman, A., Van Deursen, A., Moonen, L., Koschke, R.: A systematic survey of program comprehension through dynamic analysis. IEEE Transactions on Software Engineering 35(5), 684\u2013702","DOI":"10.1109\/TSE.2009.28"},{"key":"2_CR19","doi-asserted-by":"crossref","unstructured":"Silva, L.H., Ramos, M., Valente, M.T., Bergel, A., Anquetil, N.: Does JavaScript software embrace classes? In: Proceedings of the 22nd International Conference on Software Analysis, Evolution and Reengineering (SANER), pp. 73\u201382 (2015)","DOI":"10.1109\/SANER.2015.7081817"},{"key":"2_CR20","doi-asserted-by":"crossref","unstructured":"Mendes, T., Valente, M.T., Hora, A.: Identifying utility functions in Java and JavaScript. In: 2016 X Brazilian Symposium on Software Components, Architectures and Reuse (SBCARS), 19\u201320 September 2016, pp. 121\u2013130 (2016)","DOI":"10.1109\/SBCARS.2016.16"},{"key":"2_CR21","unstructured":"Humberto Silva, L., Hovadick, D., Tulio Valente, M., Bergel, A., Anquetil, N., Etien, A.: JSClassFinder: a tool to detect class-like structures in JavaScript. arXiv preprint arXiv:1602.05891 (2016)"},{"key":"2_CR22","doi-asserted-by":"crossref","unstructured":"Merlo, E., Antoniol, G., Di Penta, M., Rollo, V.F.: Linear complexity object-oriented similarity for clone detection and software evolution analyses. In: Proceedings of IEEE 20th International Conference on Software Maintenance, ICSM 2004, pp. 412\u2013416 (2004)","DOI":"10.1109\/ICSM.2004.1357826"},{"key":"2_CR23","doi-asserted-by":"crossref","unstructured":"Van Belle, T., Ackley, D.H.: Uniform subtree mutation, pp. 152\u2013161 (2002)","DOI":"10.1007\/3-540-45984-7_15"},{"key":"2_CR24","unstructured":"http:\/\/pmd.sourceforge.net\/snapshot\/ . Accessed 17 July 2016"},{"key":"2_CR25","doi-asserted-by":"crossref","unstructured":"Van Emden, E., Moonen, L.: Java quality assurance by detecting code smells. In: Proceedings of the 9th Working Conference on Reverse Engineering (WCRE 2002), Washington, DC, USA, pp. 97\u2013106 (2002)","DOI":"10.1109\/WCRE.2002.1173068"},{"key":"2_CR26","first-page":"381","volume":"2003","author":"M M\u00e4ntyl\u00e4","year":"2003","unstructured":"M\u00e4ntyl\u00e4, M., Vanhanen, J., Lassenius, C.: A taxonomy and an initial empirical study of bad smells in code. Proceedings of the International Conference on Software Maintenance, ICSM 2003, 381\u2013384 (2003)","journal-title":"Proceedings of the International Conference on Software Maintenance, ICSM"},{"key":"2_CR27","doi-asserted-by":"crossref","unstructured":"Marinescu, R.: Detection strategies: metrics-based rules for detecting design flaws, pp. 350\u2013359 (2004)","DOI":"10.1109\/ICSM.2004.1357820"},{"issue":"1","key":"2_CR28","doi-asserted-by":"crossref","first-page":"20","DOI":"10.1109\/TSE.2009.50","volume":"36","author":"N Moha","year":"2010","unstructured":"Moha, N., Gueheneuc, Y.-G., Duchien, L., Le Meur, A.-F.: DECOR: a method for the specification and detection of code and design smells. IEEE Trans. Software Eng. 36(1), 20\u201336 (2010)","journal-title":"IEEE Trans. Software Eng."},{"key":"2_CR29","doi-asserted-by":"crossref","unstructured":"Kessentini, M., Kessentini, W., Sahraoui, H., Boukadoum, M., Ouni, A.: Design defects detection and correction by example. In: Proceedings of the 19th IEEE International Conference on Program Comprehension (ICPC 2011), 22\u201324 June 2011, pp. 81\u201390 (2011)","DOI":"10.1109\/ICPC.2011.22"},{"issue":"1","key":"2_CR30","doi-asserted-by":"crossref","first-page":"47","DOI":"10.1007\/s10515-011-0098-8","volume":"20","author":"A Ouni","year":"2012","unstructured":"Ouni, A., Kessentini, M., Sahraoui, H., Boukadoum, M.: Maintainability defects detection and correction: a multi-objective approach. Automated Software Engineering 20(1), 47\u201379 (2012)","journal-title":"Automated Software Engineering"}],"container-title":["Lecture Notes in Computer Science","Applications of Evolutionary Computation"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-319-55792-2_2","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T17:06:04Z","timestamp":1750179964000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-319-55792-2_2"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017]]},"ISBN":["9783319557915","9783319557922"],"references-count":30,"URL":"https:\/\/doi.org\/10.1007\/978-3-319-55792-2_2","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2017]]}}}