var bibbase_data = {"data":"\"Loading..\"\n\n
\n\n \n\n \n\n \n \n\n \n\n \n \n\n \n\n \n
\n generated by\n \n \"bibbase.org\"\n\n \n
\n \n\n
\n\n \n\n\n
\n\n Excellent! Next you can\n create a new website with this list, or\n embed it in an existing web page by copying & pasting\n any of the following snippets.\n\n
\n JavaScript\n (easiest)\n
\n \n <script src=\"https://bibbase.org/show?bib=users.encs.concordia.ca%2F%7Enikolaos%2Fpublications.bib&jsonp=1&authorFirst=1&jsonp=1\"></script>\n \n
\n\n PHP\n
\n \n <?php\n $contents = file_get_contents(\"https://bibbase.org/show?bib=users.encs.concordia.ca%2F%7Enikolaos%2Fpublications.bib&jsonp=1&authorFirst=1\");\n print_r($contents);\n ?>\n \n
\n\n iFrame\n (not recommended)\n
\n \n <iframe src=\"https://bibbase.org/show?bib=users.encs.concordia.ca%2F%7Enikolaos%2Fpublications.bib&jsonp=1&authorFirst=1\"></iframe>\n \n
\n\n

\n For more details see the documention.\n

\n
\n
\n\n
\n\n This is a preview! To use this list on your own web site\n or create a new web site from it,\n create a free account. The file will be added\n and you will be able to edit it in the File Manager.\n We will show you instructions once you've created your account.\n
\n\n
\n\n

To the site owner:

\n\n

Action required! Mendeley is changing its\n API. In order to keep using Mendeley with BibBase past April\n 14th, you need to:\n

    \n
  1. renew the authorization for BibBase on Mendeley, and
  2. \n
  3. update the BibBase URL\n in your page the same way you did when you initially set up\n this page.\n
  4. \n
\n

\n\n

\n \n \n Fix it now\n

\n
\n\n
\n\n\n
\n \n \n
\n
\n  \n 2022\n \n \n (5)\n \n \n
\n
\n \n \n
\n \n\n \n \n Javan Jafari, A.; Costa, D. E.; Abdalkareem, R.; Shihab, E.; and Tsantalis, N.\n\n\n \n \n \n \n \n Dependency Smells in JavaScript Projects.\n \n \n \n \n\n\n \n\n\n\n IEEE Transactions on Software Engineering, 48(10): 3790-3807. 2022.\n \n\nJournal-first paper at ICSE 2022\n\n
\n\n\n\n \n \n \"Dependency paper\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n\n\n\n
\n
@article{Jafari:TSE:2021,\r\n\tauthor={Javan Jafari, Abbas and Costa, Diego Elias and Abdalkareem, Rabe and Shihab, Emad and Tsantalis, Nikolaos},\r\n\tjournal={IEEE Transactions on Software Engineering}, \r\n\ttitle={Dependency Smells in JavaScript Projects}, \r\n\tyear={2022},\r\n\tvolume={48},\r\n\tnumber={10},\r\n\tpages={3790-3807},\r\n\tdoi={10.1109/TSE.2021.3106247},\r\n\turl_Paper={https://users.encs.concordia.ca/~nikolaos/publications/TSE_2021.pdf},\r\n\tbibbase_note = {<span style="color: blue"><strong>Journal-first paper at ICSE 2022</strong></span>},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n
\n \n\n \n \n Tsantalis, N.; Ketkar, A.; and Dig, D.\n\n\n \n \n \n \n \n RefactoringMiner 2.0.\n \n \n \n \n\n\n \n\n\n\n IEEE Transactions on Software Engineering, 48(3): 930-950. 2022.\n \n\n\n\n
\n\n\n\n \n \n \"RefactoringMiner paper\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n  \n \n 1 download\n \n \n\n \n \n \n \n \n \n \n\n  \n \n \n\n\n\n
\n
@article{Tsantalis:TSE:2020:RefactoringMiner2.0,\r\n\tauthor={Tsantalis, Nikolaos and Ketkar, Ameya and Dig, Danny},\r\n\ttitle={RefactoringMiner 2.0},\r\n\tjournal={IEEE Transactions on Software Engineering},\r\n\tyear={2022},\r\n\tvolume={48},\r\n\tnumber={3},\r\n\tpages={930-950},\r\n\tdoi={10.1109/TSE.2020.3007722},\r\n\turl_Paper={https://users.encs.concordia.ca/~nikolaos/publications/TSE_2020.pdf},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n
\n \n\n \n \n Jodavi, M.; and Tsantalis, N.\n\n\n \n \n \n \n \n Accurate Method and Variable Tracking in Commit History.\n \n \n \n \n\n\n \n\n\n\n In Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering, pages 183–195, New York, NY, USA, 2022. Association for Computing Machinery\n \n\n\n\n
\n\n\n\n \n \n \"Accurate paper\n  \n \n \n \"Accurate link\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n \n \n \n \n\n\n\n
\n
@inproceedings{Jodavi:FSE:2022,\r\n\tauthor = {Jodavi, Mehran and Tsantalis, Nikolaos},\r\n\ttitle = {Accurate Method and Variable Tracking in Commit History},\r\n\tyear = {2022},\r\n\tisbn = {9781450394130},\r\n\tpublisher = {Association for Computing Machinery},\r\n\taddress = {New York, NY, USA},\r\n\t--url = {https://doi.org/10.1145/3540250.3549079},\r\n\tdoi = {10.1145/3540250.3549079},\r\n\tbooktitle = {Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering},\r\n\tpages = {183–195},\r\n\tnumpages = {13},\r\n\tkeywords = {commit change history, refactoring-aware source code tracking},\r\n\tlocation = {Singapore, Singapore},\r\n\t--series = {ESEC/FSE 2022},\r\n\turl_Paper={https://users.encs.concordia.ca/~nikolaos/publications/FSE_2022.pdf},\r\n\turl_Link={https://github.com/jodavimehran/code-tracker},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n
\n \n\n \n \n Ketkar, A.; Smirnov, O.; Tsantalis, N.; Dig, D.; and Bryksin, T.\n\n\n \n \n \n \n \n Inferring and Applying Type Changes.\n \n \n \n \n\n\n \n\n\n\n In Proceedings of the 44th International Conference on Software Engineering, New York, NY, USA, 2022. Association for Computing Machinery\n \n\n\n\n
\n\n\n\n \n \n \"Inferring paper\n  \n \n \n \"Inferring link\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n  \n \n 1 download\n \n \n\n \n \n \n \n \n \n \n\n  \n \n \n\n\n\n
\n
@inproceedings{Ketkar:ICSE:2022,\r\n\tauthor = {Ketkar, Ameya and Smirnov, Oleg and Tsantalis, Nikolaos and Dig, Danny and Bryksin, Timofey},\r\n\ttitle = {Inferring and Applying Type Changes},\r\n\tyear = {2022},\r\n\tbooktitle = {Proceedings of the 44th International Conference on Software Engineering},\r\n\t--series = {ICSE 2022},\r\n\tdoi = {10.1145/3510003.3510115},\r\n\tpublisher = {Association for Computing Machinery},\r\n\taddress = {New York, NY, USA},\r\n\turl_Paper={https://users.encs.concordia.ca/~nikolaos/publications/ICSE_2022.pdf},\r\n\turl_Link={https://github.com/JetBrains-Research/data-driven-type-migration},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n
\n \n\n \n \n Smirnov, O.; Ketkar, A.; Bryksin, T.; Tsantalis, N.; and Dig, D.\n\n\n \n \n \n \n \n IntelliTC: Automating Type Changes in IntelliJ IDEA.\n \n \n \n \n\n\n \n\n\n\n In 2022 IEEE/ACM 44th International Conference on Software Engineering: Companion Proceedings (ICSE-Companion), pages 115-119, Los Alamitos, CA, USA, may 2022. IEEE Computer Society\n \n\n\n\n
\n\n\n\n \n \n \"IntelliTC: paper\n  \n \n \n \"IntelliTC: link\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n \n \n\n\n\n
\n
@inproceedings{IntelliTC:ICSE:2022,\r\n\tauthor = {Oleg Smirnov and Ameya Ketkar and Timofey Bryksin and Nikolaos Tsantalis and Danny Dig},\r\n\tbooktitle = {2022 IEEE/ACM 44th International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)},\r\n\ttitle = {IntelliTC: Automating Type Changes in IntelliJ IDEA},\r\n\tyear = {2022},\r\n\tissn = {2574-1926},\r\n\tpages = {115-119},\r\n\tkeywords = {java;codes;video on demand;inspection;user experience;software;history},\r\n\tdoi = {10.1109/ICSE-Companion55297.2022.9793766},\r\n\t--url = {https://doi.ieeecomputersociety.org/10.1109/ICSE-Companion55297.2022.9793766},\r\n\tpublisher = {IEEE Computer Society},\r\n\taddress = {Los Alamitos, CA, USA},\r\n\tmonth = {may},\r\n\turl_Paper = {https://users.encs.concordia.ca/~nikolaos/publications/ICSE_2022a.pdf},\r\n\turl_Link = {https://www.youtube.com/watch?v=pdcfvADA1PY},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n\n\n\n
\n
\n\n
\n
\n  \n 2021\n \n \n (3)\n \n \n
\n
\n \n \n
\n \n\n \n \n Coelho, F.; Tsantalis, N.; Massoni, T.; and Alves, E. L. G.\n\n\n \n \n \n \n \n An Empirical Study on Refactoring-Inducing Pull Requests.\n \n \n \n \n\n\n \n\n\n\n In Proceedings of the 15th ACM / IEEE International Symposium on Empirical Software Engineering and Measurement, New York, NY, USA, 2021. Association for Computing Machinery\n \n\n\n\n
\n\n\n\n \n \n \"An paper\n  \n \n \n \"An link\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n  \n \n 2 downloads\n \n \n\n \n \n \n \n \n \n \n\n  \n \n \n \n \n \n \n \n \n\n\n\n
\n
@inproceedings{Coelho:ESEM:2021,\r\n\tauthor = {Coelho, Fl\\'{a}via and Tsantalis, Nikolaos and Massoni, Tiago and Alves, Everton L. G.},\r\n\ttitle = {An Empirical Study on Refactoring-Inducing Pull Requests},\r\n\tyear = {2021},\r\n\tisbn = {9781450386654},\r\n\tpublisher = {Association for Computing Machinery},\r\n\taddress = {New York, NY, USA},\r\n\t--url = {https://doi.org/10.1145/3475716.3475785},\r\n\tdoi = {10.1145/3475716.3475785},\r\n\tbooktitle = {Proceedings of the 15th ACM / IEEE International Symposium on Empirical Software Engineering and Measurement},\r\n\tarticleno = {9},\r\n\tnumpages = {12},\r\n\tkeywords = {code review mining, empirical study, refactoring-inducing pull request},\r\n\tlocation = {Bari, Italy},\r\n\t--series = {ESEM '21},\r\n\turl_Paper={https://users.encs.concordia.ca/~nikolaos/publications/ESEM_2021.pdf},\r\n\turl_link={https://github.com/flaviacoelho/riprs-reproduction-kit},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n
\n \n\n \n \n Kim, D. J.; Tsantalis, N.; Chen, T. (.; and Yang, J.\n\n\n \n \n \n \n \n Studying Test Annotation Maintenance in the Wild.\n \n \n \n \n\n\n \n\n\n\n In Proceedings of the 43rd International Conference on Software Engineering, pages 62-73, Los Alamitos, CA, USA, 2021. IEEE Computer Society\n \n\n\n\n
\n\n\n\n \n \n \"Studying paper\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n \n \n\n\n\n
\n
@inproceedings{Kim:ICSE:2021,\r\n\tauthor = {Kim, Dong Jae and Tsantalis, Nikolaos and Chen, Tse-Hsun (Peter) and Yang, Jinqiu},\r\n\ttitle = {Studying Test Annotation Maintenance in the Wild},\r\n\tyear = {2021},\r\n\tbooktitle = {Proceedings of the 43rd International Conference on Software Engineering},\r\n\t--series = {ICSE 2021},\r\n\tpages = {62-73},\r\n\tkeywords = {java;annotations;fixtures;taxonomy;maintenance engineering;tools;testing},\r\n\tdoi = {10.1109/ICSE43902.2021.00019},\r\n\tpublisher = {IEEE Computer Society},\r\n\taddress = {Los Alamitos, CA, USA},\r\n\turl_Paper={https://users.encs.concordia.ca/~nikolaos/publications/ICSE_2021.pdf},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n
\n \n\n \n \n Atwi, H.; Lin, B.; Tsantalis, N.; Kashiwa, Y.; Kamei, Y.; Ubayashi, N.; Bavota, G.; and Lanza, M.\n\n\n \n \n \n \n \n PyRef: Refactoring Detection in Python Projects.\n \n \n \n \n\n\n \n\n\n\n In Proceedings of the IEEE 21st International Working Conference on Source Code Analysis and Manipulation, pages 136-141, Los Alamitos, CA, USA, sep 2021. IEEE Computer Society\n \n\n\n\n
\n\n\n\n \n \n \"PyRef: paper\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n \n \n\n\n\n
\n
@inproceedings{PyRef:SCAM:2021,\r\n\tauthor = {Hassan Atwi and Bin Lin and Nikolaos Tsantalis and Yutaro Kashiwa and Yasutaka Kamei and Naoyasu Ubayashi and Gabriele Bavota and Michele Lanza},\r\n\tbooktitle = {Proceedings of the IEEE 21st International Working Conference on Source Code Analysis and Manipulation},\r\n\ttitle = {PyRef: Refactoring Detection in Python Projects},\r\n\t--series = {SCAM '21},\r\n\tyear = {2021},\r\n\tpages = {136-141},\r\n\tkeywords = {java;codes;conferences;tools;programming;maintenance engineering;software systems},\r\n\tdoi = {10.1109/SCAM52516.2021.00025},\r\n\t--url = {https://doi.ieeecomputersociety.org/10.1109/SCAM52516.2021.00025},\r\n\tpublisher = {IEEE Computer Society},\r\n\taddress = {Los Alamitos, CA, USA},\r\n\tmonth = {sep},\r\n\turl_Paper = {https://users.encs.concordia.ca/~nikolaos/publications/SCAM_2021.pdf},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n\n\n\n
\n
\n\n
\n
\n  \n 2020\n \n \n (1)\n \n \n
\n
\n \n \n
\n \n\n \n \n Ketkar, A.; Tsantalis, N.; and Dig, D.\n\n\n \n \n \n \n \n Understanding Type Changes in Java.\n \n \n \n \n\n\n \n\n\n\n In Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, pages 629–641, New York, NY, USA, 2020. Association for Computing Machinery\n \n\n\n\n
\n\n\n\n \n \n \"Understanding paper\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n
\n
@inproceedings{Ketkar:FSE:2020,\r\n\tauthor = {Ketkar, Ameya and Tsantalis, Nikolaos and Dig, Danny},\r\n\ttitle = {Understanding Type Changes in Java},\r\n\tyear = {2020},\r\n\tisbn = {9781450370431},\r\n\tpublisher = {Association for Computing Machinery},\r\n\taddress = {New York, NY, USA},\r\n\t--url = {https://doi.org/10.1145/3368089.3409725},\r\n\tdoi = {10.1145/3368089.3409725},\r\n\tbooktitle = {Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering},\r\n\tpages = {629–641},\r\n\tnumpages = {13},\r\n\tkeywords = {Type Change Adaptations, Git, Empirical Study, Type Migration, Type Change Mining, Type Change Patterns, Commit},\r\n\tlocation = {Virtual Event, USA},\r\n\t--series = {ESEC/FSE 2020},\r\n\turl_Paper={https://users.encs.concordia.ca/~nikolaos/publications/FSE_2020.pdf},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n\n\n\n
\n
\n\n
\n
\n  \n 2019\n \n \n (3)\n \n \n
\n
\n \n \n
\n \n\n \n \n Afjehei, S. S.; Chen, T.; and Tsantalis, N.\n\n\n \n \n \n \n \n iPerfDetector: Characterizing and detecting performance anti-patterns in iOS applications.\n \n \n \n \n\n\n \n\n\n\n Empirical Software Engineering, 24(6): 3484–3513. Dec 2019.\n \n\n\n\n
\n\n\n\n \n \n \"iPerfDetector: paper\n  \n \n \n \"iPerfDetector: link\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n  \n \n abstract \n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n\n\n\n
\n
@article{Afjehei:EMSE:2019,\r\n\tauthor="Afjehei, Sara Seif and Chen, Tse-Hsun and Tsantalis, Nikolaos",\r\n\ttitle="iPerfDetector: Characterizing and detecting performance anti-patterns in iOS applications",\r\n\tjournal="Empirical Software Engineering",\r\n\tyear="2019",\r\n\tmonth="Dec",\r\n\tday="01",\r\n\tvolume="24",\r\n\tnumber="6",\r\n\tpages="3484--3513",\r\n\tabstract="Performance issues in mobile applications (i.e., apps) often have a direct impact on the user experience. However, due to limited testing resources and fast-paced software development cycles, many performance issues remain undiscovered when the apps are released. As found by a prior study, these performance issues are one of the most common complaints that app users have. Unfortunately, there is a limited support to help developers avoid or detect performance issues in mobile apps. In this paper, we conduct an empirical study on performance issues in iOS apps written in Swift language. To the best of our knowledge, this is the first study on performance issues of apps on the iOS platform. We manually studied 225 performance issues that are collected from four open source iOS apps. We found that most performance issues in iOS apps are related to inefficient UI design, memory issues, and inefficient thread handling. We also manually uncovered four performance anti-patterns that recurred in the studied issue reports. To help developers avoid these performance anti-patterns in the code, we implemented a static analysis tool called iPerfDetector. We evaluated iPerfDetector on eight open source and three commercial apps. iPerfDetector successfully detected 34 performance anti-pattern instances in the studied apps, where 31 of them are already confirmed and accepted by developers as potential performance issues. Our case study on the performance impact of the anti-patterns shows that fixing the anti-pattern may improve the performance (i.e., response time, GPU, or CPU) of the workload by up to 80{\\%}.",\r\n\tissn="1573-7616",\r\n\tdoi="10.1007/s10664-019-09703-y",\r\n\t--url="https://doi.org/10.1007/s10664-019-09703-y",\r\n\turl_Paper={https://users.encs.concordia.ca/~nikolaos/publications/EMSE_2019.pdf},\r\n\turl_Link={https://github.com/saraseif/iPerfDetector},\r\n}\r\n\r\n
\n
\n\n\n
\n Performance issues in mobile applications (i.e., apps) often have a direct impact on the user experience. However, due to limited testing resources and fast-paced software development cycles, many performance issues remain undiscovered when the apps are released. As found by a prior study, these performance issues are one of the most common complaints that app users have. Unfortunately, there is a limited support to help developers avoid or detect performance issues in mobile apps. In this paper, we conduct an empirical study on performance issues in iOS apps written in Swift language. To the best of our knowledge, this is the first study on performance issues of apps on the iOS platform. We manually studied 225 performance issues that are collected from four open source iOS apps. We found that most performance issues in iOS apps are related to inefficient UI design, memory issues, and inefficient thread handling. We also manually uncovered four performance anti-patterns that recurred in the studied issue reports. To help developers avoid these performance anti-patterns in the code, we implemented a static analysis tool called iPerfDetector. We evaluated iPerfDetector on eight open source and three commercial apps. iPerfDetector successfully detected 34 performance anti-pattern instances in the studied apps, where 31 of them are already confirmed and accepted by developers as potential performance issues. Our case study on the performance impact of the anti-patterns shows that fixing the anti-pattern may improve the performance (i.e., response time, GPU, or CPU) of the workload by up to 80%.\n
\n\n\n
\n\n\n
\n \n\n \n \n Mahmoudi, M.; Nadi, S.; and Tsantalis, N.\n\n\n \n \n \n \n \n Are Refactorings to Blame? An Empirical Study of Refactorings in Merge Conflicts.\n \n \n \n \n\n\n \n\n\n\n In Proceedings of the IEEE 26th International Conference on Software Analysis, Evolution and Reengineering, pages 151-162, Feb 2019. \n \n\n\n\n
\n\n\n\n \n \n \"Are paper\n  \n \n \n \"Are slides\n  \n \n \n \"Are link\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n  \n \n 12 downloads\n \n \n\n \n \n \n \n \n \n \n\n  \n \n \n \n \n\n\n\n
\n
@inproceedings{Mahmoudi:SANER:2019,\r\n\tauthor={Mahmoudi, Mehran and Nadi, Sarah and Tsantalis, Nikolaos},\r\n\tbooktitle={Proceedings of the IEEE 26th International Conference on Software Analysis, Evolution and Reengineering},\r\n\ttitle={Are Refactorings to Blame? An Empirical Study of Refactorings in Merge Conflicts},\r\n\tyear={2019},\r\n\t--series={SANER '19},\r\n\tpages={151-162},\r\n\tkeywords={Merging;Tools;Java;Task analysis;Open source software;Control systems;refactoring;git;merge conflict;software evolution},\r\n\tdoi={10.1109/SANER.2019.8668012},\r\n\tISSN={1534-5351},\r\n\tmonth={Feb},\r\n\turl_Paper={https://users.encs.concordia.ca/~nikolaos/publications/SANER_2019.pdf},\r\n\turl_Slides={https://users.encs.concordia.ca/~nikolaos/publications/SANER_2019.pptx},\r\n\turl_link={https://github.com/ualberta-smr/RefactoringsInMergeCommits},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n
\n \n\n \n \n Sierra, G.; Tahmid, A.; Shihab, E.; and Tsantalis, N.\n\n\n \n \n \n \n \n Is Self-Admitted Technical Debt a Good Indicator of Architectural Divergences?.\n \n \n \n \n\n\n \n\n\n\n In Proceedings of the IEEE 26th International Conference on Software Analysis, Evolution and Reengineering, pages 534-543, Feb 2019. \n \n\n\n\n
\n\n\n\n \n \n \"Is paper\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n\n\n\n
\n
@inproceedings{Sierra:SANER:2019, \r\n\tauthor={Giancarlo Sierra and Ahmad Tahmid and Emad Shihab and Nikolaos Tsantalis}, \r\n\tbooktitle={Proceedings of the IEEE 26th International Conference on Software Analysis, Evolution and Reengineering}, \r\n\ttitle={Is Self-Admitted Technical Debt a Good Indicator of Architectural Divergences?}, \r\n\tyear={2019},  \r\n\tpages={534-543}, \r\n\tdoi={10.1109/SANER.2019.8667999}, \r\n\tISSN={1534-5351}, \r\n\tmonth={Feb},\r\n\turl_Paper={https://users.encs.concordia.ca/~nikolaos/publications/SANER_2019a.pdf},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n\n\n\n
\n
\n\n
\n
\n  \n 2018\n \n \n (3)\n \n \n
\n
\n \n \n
\n \n\n \n \n Hassani, M.; Shang, W.; Shihab, E.; and Tsantalis, N.\n\n\n \n \n \n \n \n Studying and Detecting Log-Related Issues.\n \n \n \n \n\n\n \n\n\n\n Empirical Software Engineering, 23(6): 3248–3280. December 2018.\n \n\nJournal-first paper at ESEC/FSE 2018\n\n
\n\n\n\n \n \n \"Studying paper\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n  \n \n abstract \n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n\n\n\n
\n
@article{Hassani:EMSE:2018,\r\n\tauthor={Hassani, Mehran and Shang, Weiyi and Shihab, Emad and Tsantalis, Nikolaos},\r\n\tjournal={Empirical Software Engineering},\r\n\ttitle={Studying and Detecting Log-Related Issues},\r\n\tyear={2018},\r\n\tmonth=dec,\r\n\tvolume={23},\r\n\tnumber={6},\r\n\tpages={3248--3280},\r\n\tabstract={Logs capture valuable information throughout the execution of software systems. The rich knowledge conveyed in logs is highly leveraged by researchers and practitioners in performing various tasks, both in software development and its operation. Log-related issues, such as missing or having outdated information, may have a large impact on the users who depend on these logs. In this paper, we first perform an empirical study on log-related issues in two large-scale, open source software systems. We find that the files with log-related issues have undergone statistically significantly more frequent prior changes, and bug fixes. We also find that developers fixing these log-related issues are often not the ones who introduced the logging statement nor the owner of the method containing the logging statement. Maintaining logs is more challenging without clear experts. Finally, we find that most of the defective logging statements remain unreported for a long period (median 320 days). Once reported, the issues are fixed quickly (median five days). Our empirical findings suggest the need for automated tools that can detect log-related issues promptly. We conducted a manual study and identified seven root-causes of the log-related issues. Based on these root causes, we developed an automated tool that detects four evident types of log-related issues. Our tool can detect 75 existing inappropriate logging statements reported in 40 log-related issues. We also reported new issues found by our tool to developers and 38 previously unknown issues in the latest release of the subject systems were accepted by developers.},\r\n\tissn={1573-7616},\r\n\tdoi={10.1007/s10664-018-9603-z},\r\n\t--url={https://doi.org/10.1007/s10664-018-9603-z},\r\n\turl_Paper ={https://users.encs.concordia.ca/~nikolaos/publications/EMSE_2018.pdf},\r\n\tbibbase_note = {<span style="color: blue"><strong>Journal-first paper at ESEC/FSE 2018</strong></span>},\r\n}\r\n\r\n
\n
\n\n\n
\n Logs capture valuable information throughout the execution of software systems. The rich knowledge conveyed in logs is highly leveraged by researchers and practitioners in performing various tasks, both in software development and its operation. Log-related issues, such as missing or having outdated information, may have a large impact on the users who depend on these logs. In this paper, we first perform an empirical study on log-related issues in two large-scale, open source software systems. We find that the files with log-related issues have undergone statistically significantly more frequent prior changes, and bug fixes. We also find that developers fixing these log-related issues are often not the ones who introduced the logging statement nor the owner of the method containing the logging statement. Maintaining logs is more challenging without clear experts. Finally, we find that most of the defective logging statements remain unreported for a long period (median 320 days). Once reported, the issues are fixed quickly (median five days). Our empirical findings suggest the need for automated tools that can detect log-related issues promptly. We conducted a manual study and identified seven root-causes of the log-related issues. Based on these root causes, we developed an automated tool that detects four evident types of log-related issues. Our tool can detect 75 existing inappropriate logging statements reported in 40 log-related issues. We also reported new issues found by our tool to developers and 38 previously unknown issues in the latest release of the subject systems were accepted by developers.\n
\n\n\n
\n\n\n
\n \n\n \n \n Tsantalis, N.; Mansouri, M.; Eshkevari, L. M.; Mazinanian, D.; and Dig, D.\n\n\n \n \n \n \n \n Accurate and Efficient Refactoring Detection in Commit History.\n \n \n \n \n\n\n \n\n\n\n In Proceedings of the 40th International Conference on Software Engineering, pages 483–494, New York, NY, USA, 2018. ACM\n \n\n\n\n
\n\n\n\n \n \n \"Accurate paper\n  \n \n \n \"Accurate slides\n  \n \n \n \"Accurate link\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n
\n
@inproceedings{Tsantalis:2018:AER:3180155.3180206,\r\n\tauthor = {Tsantalis, Nikolaos and Mansouri, Matin and Eshkevari, Laleh M. and Mazinanian, Davood and Dig, Danny},\r\n\ttitle = {Accurate and Efficient Refactoring Detection in Commit History},\r\n\tbooktitle = {Proceedings of the 40th International Conference on Software Engineering},\r\n\t--series = {ICSE '18},\r\n\tyear = {2018},\r\n\tisbn = {978-1-4503-5638-1},\r\n\tlocation = {Gothenburg, Sweden},\r\n\tpages = {483--494},\r\n\tnumpages = {12},\r\n\t--url = {http://doi.acm.org/10.1145/3180155.3180206},\r\n\tdoi = {10.1145/3180155.3180206},\r\n\tacmid = {3180206},\r\n\tpublisher = {ACM},\r\n\taddress = {New York, NY, USA},\r\n\tkeywords = {Git, Oracle, abstract syntax tree, accuracy, commit, refactoring},\r\n\turl_Paper ={https://users.encs.concordia.ca/~nikolaos/publications/ICSE_2018.pdf},\r\n\turl_Slides ={https://users.encs.concordia.ca/~nikolaos/publications/ICSE_2018.pptx},\r\n\turl_link = {http://refactoring.encs.concordia.ca/oracle/},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n
\n \n\n \n \n Tsantalis, N.; Chaikalis, T.; and Chatzigeorgiou, A.\n\n\n \n \n \n \n \n Ten years of JDeodorant: Lessons learned from the hunt for smells.\n \n \n \n \n\n\n \n\n\n\n In Proceedings of the IEEE 25th International Conference on Software Analysis, Evolution and Reengineering, pages 4-14, March 2018. \n \n\nMost Influential Paper Retrospective\n\n
\n\n\n\n \n \n \"Ten paper\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n \n \n\n\n\n
\n
@inproceedings{Tsantalis:MIP:2018,\r\n\tauthor={Tsantalis, Nikolaos and Chaikalis, Theodoros and Chatzigeorgiou, Alexander},\r\n\tbooktitle={Proceedings of the IEEE 25th International Conference on Software Analysis, Evolution and Reengineering},\r\n\ttitle={Ten years of JDeodorant: Lessons learned from the hunt for smells},\r\n\t--series={SANER '18},\r\n\tyear={2018},\r\n\tpages={4-14},\r\n\tkeywords={Feature extraction;Google;History;Measurement;Open source software;Tools;Code Smells;Object-Oriented Software;Refactoring},\r\n\tdoi={10.1109/SANER.2018.8330192},\r\n\tmonth={March},\r\n\turl_Paper ={https://users.encs.concordia.ca/~nikolaos/publications/SANER_MIP_2018.pdf},\r\n\tbibbase_note = {<span style="color: blue"><strong>Most Influential Paper Retrospective</strong></span>},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n\n\n\n
\n
\n\n
\n
\n  \n 2017\n \n \n (5)\n \n \n
\n
\n \n \n
\n \n\n \n \n Mazinanian, D.; Ketkar, A.; Tsantalis, N.; and Dig, D.\n\n\n \n \n \n \n \n Understanding the Use of Lambda Expressions in Java.\n \n \n \n \n\n\n \n\n\n\n Proceedings of the ACM on Programming Languages, 1(OOPSLA): 85:1–85:31. October 2017.\n \n\nACM SIGPLAN Distinguished Artifact Award\n\n
\n\n\n\n \n \n \"Understanding paper\n  \n \n \n \"Understanding link\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n  \n \n 1 download\n \n \n\n \n \n \n \n \n \n \n\n  \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n
\n
@article{MKTD:OOPSLA:2017,\r\n\tauthor = {Mazinanian, Davood and Ketkar, Ameya and Tsantalis, Nikolaos and Dig, Danny},\r\n\ttitle = {Understanding the Use of Lambda Expressions in Java},\r\n\tjournal = {Proceedings of the ACM on Programming Languages},\r\n\tissue_date = {October 2017},\r\n\tvolume = {1},\r\n\tnumber = {OOPSLA},\r\n\tmonth = oct,\r\n\tyear = {2017},\r\n\tissn = {2475-1421},\r\n\tpages = {85:1--85:31},\r\n\tarticleno = {85},\r\n\tnumpages = {31},\r\n\t--url = {http://doi.acm.org/10.1145/3133909},\r\n\tdoi = {10.1145/3133909},\r\n\tacmid = {3133909},\r\n\tpublisher = {ACM},\r\n\taddress = {New York, NY, USA},\r\n\tkeywords = {Empirical Studies, Functional Programming, Java 8, Lambda Expressions,\r\n\tMulti-paradigm Programming, The Firehouse Interview Method},\r\n\turl_Paper ={https://users.encs.concordia.ca/~nikolaos/publications/OOPSLA_2017.pdf},\r\n\turl_link = {http://dmazinanian.me/journal-papers/oopsla/2017/07/04/oopsla17.html},\r\n\tbibbase_note = {<span style="color: blue"><strong>ACM SIGPLAN Distinguished Artifact Award</strong></span>},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n
\n \n\n \n \n Maldonado, E. d. S.; Shihab, E.; and Tsantalis, N.\n\n\n \n \n \n \n \n Using Natural Language Processing to Automatically Detect Self-Admitted Technical Debt.\n \n \n \n \n\n\n \n\n\n\n IEEE Transactions on Software Engineering, 43(11): 1044-1062. November 2017.\n \n\nFeatured article of the November 2017 issue\n\n
\n\n\n\n \n \n \"Using paper\n  \n \n \n \"Using link\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n
\n
@article{Maldonado:TSE:2017,\r\n\tauthor={Maldonado, Everton da Silva and Shihab, Emad and Tsantalis, Nikolaos}, \r\n\tjournal={IEEE Transactions on Software Engineering},\r\n\ttitle={Using Natural Language Processing to Automatically Detect Self-Admitted Technical Debt},\r\n\tyear={2017},\r\n\tvolume={43},\r\n\tnumber={11},\r\n\tpages={1044-1062},\r\n\tkeywords={Entropy, Java, Manuals, Natural language processing, Software, Structured Query Language, Unified modeling language, Technical debt, empirical study, source code comments},\r\n\tdoi={10.1109/TSE.2017.2654244},\r\n\tISSN={0098-5589},\r\n\tmonth=nov,\r\n\turl_Paper ={https://users.encs.concordia.ca/~nikolaos/publications/TSE_2017.pdf},\r\n\turl_Link ={https://github.com/maldonado/tse.satd.data},\r\n\tbibbase_note = {<span style="color: blue"><strong>Featured article of the November 2017 issue</strong></span>},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n
\n \n\n \n \n Tsantalis, N.; Mazinanian, D.; and Rostami, S.\n\n\n \n \n \n \n \n Clone Refactoring with Lambda Expressions.\n \n \n \n \n\n\n \n\n\n\n In Proceedings of the 39th International Conference on Software Engineering, pages 60–70, Piscataway, NJ, USA, 2017. IEEE Press\n \n\nACM SIGSOFT Distinguished Paper Award\n\n
\n\n\n\n \n \n \"Clone paper\n  \n \n \n \"Clone link\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n \n \n \n \n \n \n\n\n\n
\n
@inproceedings{Tsantalis:ICSE:2017,\r\n\tauthor = {Tsantalis, Nikolaos and Mazinanian, Davood and Rostami, Shahriar},\r\n\ttitle = {Clone Refactoring with Lambda Expressions},\r\n\tbooktitle = {Proceedings of the 39th International Conference on Software Engineering},\r\n\t--series = {ICSE '17},\r\n\tyear = {2017},\r\n\tisbn = {978-1-5386-3868-2},\r\n\tlocation = {Buenos Aires, Argentina},\r\n\tpages = {60--70},\r\n\tnumpages = {11},\r\n\t--url = {https://doi.org/10.1109/ICSE.2017.14},\r\n\tdoi = {10.1109/ICSE.2017.14},\r\n\tacmid = {3097377},\r\n\tpublisher = {IEEE Press},\r\n\taddress = {Piscataway, NJ, USA},\r\n\tkeywords = {code duplication, lambda expressions, refactoring},\r\n\turl_Paper ={https://users.encs.concordia.ca/~nikolaos/publications/ICSE_2017.pdf},\r\n\turl_link = {ICSE_2017/},\r\n\tbibbase_note = {<span style="color: blue"><strong>ACM SIGSOFT Distinguished Paper Award</strong></span>},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n
\n \n\n \n \n Eshkevari, L.; Mazinanian, D.; Rostami, S.; and Tsantalis, N.\n\n\n \n \n \n \n \n JSDeodorant: Class-awareness for JavaScript Programs.\n \n \n \n \n\n\n \n\n\n\n In Proceedings of the 39th International Conference on Software Engineering Companion, pages 71–74, Piscataway, NJ, USA, 2017. IEEE Press\n \n\n\n\n
\n\n\n\n \n \n \"JSDeodorant: paper\n  \n \n \n \"JSDeodorant: link\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n\n\n\n
\n
@inproceedings{Eshkevari:2017:JCJ:3098344.3098367,\r\n\tauthor = {Eshkevari, Laleh and Mazinanian, Davood and Rostami, Shahriar and Tsantalis, Nikolaos},\r\n\ttitle = {JSDeodorant: Class-awareness for JavaScript Programs},\r\n\tbooktitle = {Proceedings of the 39th International Conference on Software Engineering Companion},\r\n\t--series = {ICSE-C '17},\r\n\tyear = {2017},\r\n\tisbn = {978-1-5386-1589-8},\r\n\tlocation = {Buenos Aires, Argentina},\r\n\tpages = {71--74},\r\n\tnumpages = {4},\r\n\t--url = {https://doi.org/10.1109/ICSE-C.2017.6},\r\n\tdoi = {10.1109/ICSE-C.2017.6},\r\n\tacmid = {3098367},\r\n\tpublisher = {IEEE Press},\r\n\taddress = {Piscataway, NJ, USA},\r\n\turl_Paper = {https://users.encs.concordia.ca/~nikolaos/publications/ICSE_2017a.pdf},\r\n\turl_Link = {https://www.youtube.com/watch?v=k4U2LwkL6JU},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n
\n \n\n \n \n Mazinanian, D.; and Tsantalis, N.\n\n\n \n \n \n \n \n CSSDev: Refactoring Duplication in Cascading Style Sheets.\n \n \n \n \n\n\n \n\n\n\n In Proceedings of the 39th International Conference on Software Engineering Companion, pages 63-66, May 2017. \n \n\n\n\n
\n\n\n\n \n \n \"CSSDev: paper\n  \n \n \n \"CSSDev: link\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n\n\n\n
\n
@inproceedings{Mazinanian:ICSE:2017:CSSDev,\r\n\tauthor = {Mazinanian, Davood and Tsantalis, Nikolaos},\r\n\tbooktitle = {Proceedings of the 39th International Conference on Software Engineering Companion},\r\n\ttitle = {CSSDev: Refactoring Duplication in Cascading Style Sheets},\r\n\t--series = {ICSE-C '17},\r\n\tyear = {2017},\r\n\tpages = {63-66},\r\n\tnumpages = {4},\r\n\tdoi = {10.1109/ICSE-C.2017.7},\r\n\tmonth = {May},\r\n\turl_Paper = {https://users.encs.concordia.ca/~nikolaos/publications/ICSE_2017b.pdf},\r\n\turl_Link = {https://www.youtube.com/watch?v=lu3oITi1XrQ},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n\n\n\n
\n
\n\n
\n
\n  \n 2016\n \n \n (5)\n \n \n
\n
\n \n \n
\n \n\n \n \n Mazinanian, D.; and Tsantalis, N.\n\n\n \n \n \n \n \n Migrating Cascading Style Sheets to Preprocessors by Introducing Mixins.\n \n \n \n \n\n\n \n\n\n\n In Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering, pages 672–683, New York, NY, USA, 2016. ACM\n \n\nInvited to Special Issue of the Automated Software Engineering Journal\n\n
\n\n\n\n \n \n \"Migrating paper\n  \n \n \n \"Migrating link\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n  \n \n abstract \n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n \n \n \n \n \n \n \n \n\n\n\n
\n
@inproceedings{Mazinanian:ASE:2016,\r\n\tauthor = {Mazinanian, Davood and Tsantalis, Nikolaos},\r\n\ttitle = {Migrating Cascading Style Sheets to Preprocessors by Introducing Mixins},\r\n\tbooktitle = {Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering},\r\n\t--series = {ASE 2016},\r\n\tyear = {2016},\r\n\tisbn = {978-1-4503-3845-5},\r\n\tlocation = {Singapore, Singapore},\r\n\tpages = {672--683},\r\n\tnumpages = {12},\r\n\t--url = {http://doi.acm.org/10.1145/2970276.2970348},\r\n\tdoi = {10.1145/2970276.2970348},\r\n\tacmid = {2970348},\r\n\tpublisher = {ACM},\r\n\taddress = {New York, NY, USA},\r\n\tkeywords = {Cascading style sheets, duplication, migration, refactoring},\r\n\turl_Paper = {https://users.encs.concordia.ca/~nikolaos/publications/ASE_2016.pdf},\r\n\turl_link = {http://dmazinanian.me/publications/ASE'16/},\r\n\tabstract = {Cascading Style Sheets (CSS) is the standard language for styling web documents and is extensively used in the industry. However, CSS lacks constructs that would allow code reuse (e.g., functions). Consequently, maintaining CSS code is often a cumbersome and error-prone task. Preprocessors (e.g., Less and Sass) have been introduced to fill this gap, by extending CSS with the missing constructs. Despite the clear maintainability benefits coming from the use of prepro-cessors, there is currently no support for migrating legacy CSS code to preprocessors. In this paper, we propose a technique for automatically detecting duplicated style declarations in CSS code that can be migrated to preproces-sor functions (i.e., mixins). Our technique can parameter-ize differences in the style values of duplicated declarations, and ensure that the migration will not change the presentation semantics of the web documents. The evaluation has shown that our technique is able to detect 98% of the mix-ins that professional developers introduced in websites and Style Sheet libraries, and can safely migrate real CSS code.},\r\n\tbibbase_note = {<span style="color: blue"><strong>Invited to Special Issue of the Automated Software Engineering Journal</strong></span>},\r\n}\r\n\r\n
\n
\n\n\n
\n Cascading Style Sheets (CSS) is the standard language for styling web documents and is extensively used in the industry. However, CSS lacks constructs that would allow code reuse (e.g., functions). Consequently, maintaining CSS code is often a cumbersome and error-prone task. Preprocessors (e.g., Less and Sass) have been introduced to fill this gap, by extending CSS with the missing constructs. Despite the clear maintainability benefits coming from the use of prepro-cessors, there is currently no support for migrating legacy CSS code to preprocessors. In this paper, we propose a technique for automatically detecting duplicated style declarations in CSS code that can be migrated to preproces-sor functions (i.e., mixins). Our technique can parameter-ize differences in the style values of duplicated declarations, and ensure that the migration will not change the presentation semantics of the web documents. The evaluation has shown that our technique is able to detect 98% of the mix-ins that professional developers introduced in websites and Style Sheet libraries, and can safely migrate real CSS code.\n
\n\n\n
\n\n\n
\n \n\n \n \n Silva, D.; Tsantalis, N.; and Valente, M. T.\n\n\n \n \n \n \n \n Why We Refactor? Confessions of GitHub Contributors.\n \n \n \n \n\n\n \n\n\n\n In Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering, pages 858–870, New York, NY, USA, 2016. ACM\n \n\nACM SIGSOFT Distinguished Paper Award and ACM SIGSOFT Distinguished Artifact Award\n\n
\n\n\n\n \n \n \"Why paper\n  \n \n \n \"Why link\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n  \n \n abstract \n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n \n \n \n \n \n \n \n \n\n\n\n
\n
@inproceedings{Silva:FSE:2016,\r\n\tauthor = {Silva, Danilo and Tsantalis, Nikolaos and Valente, Marco Tulio},\r\n\ttitle = {Why We Refactor? Confessions of GitHub Contributors},\r\n\tbooktitle = {Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering},\r\n\t--series = {FSE 2016},\r\n\tyear = {2016},\r\n\tisbn = {978-1-4503-4218-6},\r\n\tlocation = {Seattle, WA, USA},\r\n\tpages = {858--870},\r\n\tnumpages = {13},\r\n\t--url = {http://doi.acm.org/10.1145/2950290.2950305},\r\n\tdoi = {10.1145/2950290.2950305},\r\n\tacmid = {2950305},\r\n\tpublisher = {ACM},\r\n\taddress = {New York, NY, USA},\r\n\tkeywords = {GitHub, Refactoring, code smells, software evolution},\r\n\turl_Paper = {https://users.encs.concordia.ca/~nikolaos/publications/FSE_2016.pdf},\r\n\turl_Link = {http://aserg-ufmg.github.io/why-we-refactor},\r\n\tbibbase_note = {<span style="color: blue"><strong>ACM SIGSOFT Distinguished Paper Award</strong></span> and <span style="color: blue"><strong>ACM SIGSOFT Distinguished Artifact Award</strong></span>},\r\n\tabstract = {Refactoring is a widespread practice that helps developers to improve the maintainability and readability of their code. However, there is a limited number of studies empirically investigating the actual motivations behind specific refactoring operations applied by developers. To fill this gap, we monitored Java projects hosted on GitHub to detect recently applied refactorings, and asked the developers to explain the reasons behind their decision to refactor the code. By applying thematic analysis on the collected responses, we compiled a catalogue of 44 distinct motivations for 12 well-known refactoring types. We found that refactoring activity is mainly driven by changes in the requirements and much less by code smells. Extract Method is the most versatile refactoring operation serving 11 different purposes. Finally, we found evidence that the IDE used by the developers affects the adoption of automated refactoring tools.},\r\n}\r\n\r\n
\n
\n\n\n
\n Refactoring is a widespread practice that helps developers to improve the maintainability and readability of their code. However, there is a limited number of studies empirically investigating the actual motivations behind specific refactoring operations applied by developers. To fill this gap, we monitored Java projects hosted on GitHub to detect recently applied refactorings, and asked the developers to explain the reasons behind their decision to refactor the code. By applying thematic analysis on the collected responses, we compiled a catalogue of 44 distinct motivations for 12 well-known refactoring types. We found that refactoring activity is mainly driven by changes in the requirements and much less by code smells. Extract Method is the most versatile refactoring operation serving 11 different purposes. Finally, we found evidence that the IDE used by the developers affects the adoption of automated refactoring tools.\n
\n\n\n
\n\n\n
\n \n\n \n \n Mazinanian, D.; and Tsantalis, N.\n\n\n \n \n \n \n \n An empirical study on the use of CSS preprocessors.\n \n \n \n \n\n\n \n\n\n\n In Proceedings of the 23rd IEEE International Conference on Software Analysis, Evolution, and Reengineering, pages 168–178, 2016. \n \n\nBest Paper Candidate Award\n\n
\n\n\n\n \n \n \"An paper\n  \n \n \n \"An slides\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n  \n \n abstract \n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n\n\n\n
\n
@inproceedings{Mazinanian:SANER:2016,\r\n\tauthor = {Mazinanian, Davood and Tsantalis, Nikolaos},\r\n\ttitle = {An empirical study on the use of CSS preprocessors},\r\n\tbooktitle = {Proceedings of the 23rd IEEE International Conference on Software Analysis, Evolution, and Reengineering},\r\n\t--series = {SANER '16},\r\n\tyear = {2016},\r\n\tlocation = {Osaka, Japan},\r\n\tpages = {168--178},\r\n\tnumpages = {11},\r\n\t--url = {http://dx.doi.org/10.1109/SANER.2016.18},\r\n\tdoi = {10.1109/SANER.2016.18},\r\n\turl_Paper = {https://users.encs.concordia.ca/~nikolaos/publications/SANER_2016.pdf},\r\n\turl_Slides = {http://www.slideshare.net/tsantalis/an-empirical-study-on-the-use-of-css-preprocessors},\r\n\tbibbase_note = {<span style="color: blue"><strong>Best Paper Candidate Award</strong></span>},\r\n\tabstract = {Cascading Style Sheets (CSS) is the standard language for styling structured documents, such as HTML. However, CSS lacks most of the traditional programming constructs, including variables and functions, which enable code reuse and structured programming. Alternatively, CSS Preprocessors (e.g., LESS, SASS) have been introduced as superset languages to extend CSS by supporting those missing constructs. While these languages are being widely used by developers, we do not have sufficient knowledge about how developers take advantage of the features they provide. Gaining this knowledge is crucial for providing better tool support to the developer community by devising techniques for the automatic migration of existing CSS code to take advantage of CSS Preprocessor language features, designing refactoring recommendation systems for existing Preprocessor code, and giving insights to the Preprocessor language designers for improving language usability. In this paper, we have empirically investigated the CSS Preprocessor codebase of 150 websites regarding four preprocessor features, namely variables, nested selectors, mixins and extend constructs, and report the discovered usage patterns for each feature. We also discuss how the gained knowledge can be put into practice towards improving the development and maintenance of CSS preprocessor code.},\r\n}\r\n\r\n
\n
\n\n\n
\n Cascading Style Sheets (CSS) is the standard language for styling structured documents, such as HTML. However, CSS lacks most of the traditional programming constructs, including variables and functions, which enable code reuse and structured programming. Alternatively, CSS Preprocessors (e.g., LESS, SASS) have been introduced as superset languages to extend CSS by supporting those missing constructs. While these languages are being widely used by developers, we do not have sufficient knowledge about how developers take advantage of the features they provide. Gaining this knowledge is crucial for providing better tool support to the developer community by devising techniques for the automatic migration of existing CSS code to take advantage of CSS Preprocessor language features, designing refactoring recommendation systems for existing Preprocessor code, and giving insights to the Preprocessor language designers for improving language usability. In this paper, we have empirically investigated the CSS Preprocessor codebase of 150 websites regarding four preprocessor features, namely variables, nested selectors, mixins and extend constructs, and report the discovered usage patterns for each feature. We also discuss how the gained knowledge can be put into practice towards improving the development and maintenance of CSS preprocessor code.\n
\n\n\n
\n\n\n
\n \n\n \n \n Rostami, S.; Eshkevari, L.; Mazinanian, D.; and Tsantalis, N.\n\n\n \n \n \n \n \n Detecting Function Constructors in JavaScript.\n \n \n \n \n\n\n \n\n\n\n In Proceedings of the 32nd IEEE International Conference on Software Maintenance and Evolution, pages 488-492, 2016. \n \n\n\n\n
\n\n\n\n \n \n \"Detecting paper\n  \n \n \n \"Detecting link\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n\n\n\n
\n
@inproceedings{Rostami:ICSME:2016,\r\n\tauthor = {Rostami, Shahriar and Eshkevari, Laleh and Mazinanian, Davood and Tsantalis, Nikolaos},\r\n\ttitle = {Detecting Function Constructors in JavaScript},\r\n\tbooktitle = {Proceedings of the 32nd IEEE International Conference on Software Maintenance and Evolution},\r\n\t--series = {ICSME '16},\r\n\tyear = {2016},\r\n\tpages = {488-492},\r\n\tdoi = {10.1109/ICSME.2016.29},\r\n\tlocation = {Raleigh, North Carolina, USA},\r\n\turl_Paper ={https://users.encs.concordia.ca/~nikolaos/publications/ICSME_2016.pdf},\r\n\turl_Link = {https://github.com/sshishe/jsdeodorant},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n
\n \n\n \n \n Mazinanian, D.; Tsantalis, N.; Stein, R.; and Valenta, Z.\n\n\n \n \n \n \n \n JDeodorant: Clone Refactoring.\n \n \n \n \n\n\n \n\n\n\n In Proceedings of the 38th International Conference on Software Engineering Companion, pages 613–616, New York, NY, USA, 2016. ACM\n \n\n\n\n
\n\n\n\n \n \n \"JDeodorant: paper\n  \n \n \n \"JDeodorant: link\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n \n \n \n \n \n \n\n\n\n
\n
@inproceedings{Mazinanian:2016:JCR:2889160.2889168,\r\n\tauthor = {Mazinanian, Davood and Tsantalis, Nikolaos and Stein, Raphael and Valenta, Zackary},\r\n\ttitle = {JDeodorant: Clone Refactoring},\r\n\tbooktitle = {Proceedings of the 38th International Conference on Software Engineering Companion},\r\n\t--series = {ICSE '16},\r\n\tyear = {2016},\r\n\tisbn = {978-1-4503-4205-6},\r\n\tlocation = {Austin, Texas},\r\n\tpages = {613--616},\r\n\tnumpages = {4},\r\n\t--url = {http://doi.acm.org/10.1145/2889160.2889168},\r\n\tdoi = {10.1145/2889160.2889168},\r\n\tacmid = {2889168},\r\n\tpublisher = {ACM},\r\n\taddress = {New York, NY, USA},\r\n\tkeywords = {code duplication, refactorability analysis, refactoring},\r\n\turl_Paper = {https://users.encs.concordia.ca/~nikolaos/publications/ICSE_2016.pdf},\r\n\turl_Link = {https://www.youtube.com/watch?v=K_xAEqIEJ-4},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n\n\n\n
\n
\n\n
\n
\n  \n 2015\n \n \n (1)\n \n \n
\n
\n \n \n
\n \n\n \n \n Tsantalis, N.; Mazinanian, D.; and Krishnan, G. P.\n\n\n \n \n \n \n \n Assessing the Refactorability of Software Clones.\n \n \n \n \n\n\n \n\n\n\n IEEE Transactions on Software Engineering, 41(11): 1055-1090. November 2015.\n \n\nFeatured article of the November 2015 issue\n\n
\n\n\n\n \n \n \"Assessing paper\n  \n \n \n \"Assessing link\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n  \n \n abstract \n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n\n\n\n
\n
@article{Tsantalis:TSE:2015,\r\n\tauthor={Tsantalis, Nikolaos and Mazinanian, Davood and Krishnan, Giri P.}, \r\n\tjournal={IEEE Transactions on Software Engineering}, \r\n\ttitle={Assessing the Refactorability of Software Clones}, \r\n\tyear={2015}, \r\n\tvolume={41}, \r\n\tnumber={11}, \r\n\tpages={1055-1090}, \r\n\t--url={http://dx.doi.org/10.1109/TSE.2015.2448531},\r\n\tdoi={10.1109/TSE.2015.2448531}, \r\n\tISSN={0098-5589}, \r\n\tmonth=nov,\r\n\turl_Paper ={https://users.encs.concordia.ca/~nikolaos/publications/TSE_2015.pdf},\r\n\turl_Link ={TSE_2015/},\r\n\tbibbase_note = {<span style="color: blue"><strong>Featured article of the November 2015 issue</strong></span>},\r\n\tabstract = {The presence of duplicated code in software systems is significant and several studies have shown that clones can be potentially harmful with respect to the maintainability and evolution of the source code. Despite the significance of the problem, there is still limited support for eliminating software clones through refactoring, because the unification and merging of duplicated code is a very challenging problem, especially when software clones have gone through several modifications after their initial introduction. In this work, we propose an approach for automatically assessing whether a pair of clones can be safely refactored without changing the behavior of the program. In particular, our approach examines if the differences present between the clones can be safely parameterized without causing any side-effects. The evaluation results have shown that the clones assessed as refactorable by our approach can be indeed refactored without causing any compile errors or test failures. Additionally, the computational cost of the proposed approach is negligible (less than a second) in the vast majority of the examined cases. Finally, we perform a large-scale empirical study on over a million clone pairs detected by four different clone detection tools in nine open-source projects to investigate how refactorability is affected by different clone properties and tool configuration options. Among the highlights of our conclusions, we found that a) clones in production code tend to be more refactorable than clones in test code, b) clones with a close relative location (i.e., same method, type, or file) tend to be more refactorable than clones in distant locations (i.e., same hierarchy, or unrelated types), c) Type-1 clones tend to be more refactorable than the other clone types, and d) clones with a small size tend to be more refactorable than clones with a larger size.},\r\n}\r\n\r\n
\n
\n\n\n
\n The presence of duplicated code in software systems is significant and several studies have shown that clones can be potentially harmful with respect to the maintainability and evolution of the source code. Despite the significance of the problem, there is still limited support for eliminating software clones through refactoring, because the unification and merging of duplicated code is a very challenging problem, especially when software clones have gone through several modifications after their initial introduction. In this work, we propose an approach for automatically assessing whether a pair of clones can be safely refactored without changing the behavior of the program. In particular, our approach examines if the differences present between the clones can be safely parameterized without causing any side-effects. The evaluation results have shown that the clones assessed as refactorable by our approach can be indeed refactored without causing any compile errors or test failures. Additionally, the computational cost of the proposed approach is negligible (less than a second) in the vast majority of the examined cases. Finally, we perform a large-scale empirical study on over a million clone pairs detected by four different clone detection tools in nine open-source projects to investigate how refactorability is affected by different clone properties and tool configuration options. Among the highlights of our conclusions, we found that a) clones in production code tend to be more refactorable than clones in test code, b) clones with a close relative location (i.e., same method, type, or file) tend to be more refactorable than clones in distant locations (i.e., same hierarchy, or unrelated types), c) Type-1 clones tend to be more refactorable than the other clone types, and d) clones with a small size tend to be more refactorable than clones with a larger size.\n
\n\n\n
\n\n\n\n\n\n
\n
\n\n
\n
\n  \n 2014\n \n \n (3)\n \n \n
\n
\n \n \n
\n \n\n \n \n Mazinanian, D.; Tsantalis, N.; and Mesbah, A.\n\n\n \n \n \n \n \n Discovering Refactoring Opportunities in Cascading Style Sheets.\n \n \n \n \n\n\n \n\n\n\n In Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, pages 496–506, New York, NY, USA, 2014. ACM\n \n\n\n\n
\n\n\n\n \n \n \"Discovering paper\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n \n \n \n \n \n \n\n\n\n
\n
@inproceedings{Mazinanian:2014:DRO:2635868.2635879,\r\n\tauthor = {Mazinanian, Davood and Tsantalis, Nikolaos and Mesbah, Ali},\r\n\ttitle = {Discovering Refactoring Opportunities in Cascading Style Sheets},\r\n\tbooktitle = {Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering},\r\n\t--series = {FSE '14},\r\n\tyear = {2014},\r\n\tisbn = {978-1-4503-3056-5},\r\n\tlocation = {Hong Kong, China},\r\n\tpages = {496--506},\r\n\tnumpages = {11},\r\n\t--url = {http://doi.acm.org/10.1145/2635868.2635879},\r\n\tdoi = {10.1145/2635868.2635879},\r\n\tacmid = {2635879},\r\n\tpublisher = {ACM},\r\n\taddress = {New York, NY, USA},\r\n\tkeywords = {Cascading style sheets, duplication, refactoring},\r\n\turl_Paper ={https://users.encs.concordia.ca/~nikolaos/publications/FSE_2014.pdf},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n
\n \n\n \n \n Krishnan, G. P.; and Tsantalis, N.\n\n\n \n \n \n \n \n Unification and refactoring of clones.\n \n \n \n \n\n\n \n\n\n\n In Proceedings of the IEEE Conference on Software Maintenance, Reengineering and Reverse Engineering, pages 104-113, 2014. \n \n\n\n\n
\n\n\n\n \n \n \"Unification paper\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n\n\n\n
\n
@inproceedings{Krishnan:2014:6747160, \r\n\tauthor={Krishnan, Giri P. and Tsantalis, Nikolaos}, \r\n\tbooktitle={Proceedings of the IEEE Conference on Software Maintenance, Reengineering and Reverse Engineering}, \r\n\ttitle={Unification and refactoring of clones}, \r\n\tyear={2014}, \r\n\tpages={104-113}, \r\n\tdoi={10.1109/CSMR-WCRE.2014.6747160},\r\n\turl_Paper ={https://users.encs.concordia.ca/~nikolaos/publications/CSMR-WCRE_2014.pdf},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n
\n \n\n \n \n Bavota, G.; Panichella, S.; Tsantalis, N.; Di Penta, M.; Oliveto, R.; and Canfora, G.\n\n\n \n \n \n \n \n Recommending Refactorings Based on Team Co-maintenance Patterns.\n \n \n \n \n\n\n \n\n\n\n In Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering, pages 337–342, New York, NY, USA, 2014. ACM\n \n\n\n\n
\n\n\n\n \n \n \"Recommending paper\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n \n \n \n \n \n \n\n\n\n
\n
@inproceedings{Bavota:2014:RRB:2642937.2642948,\r\n\tauthor = {Bavota, Gabriele and Panichella, Sebastiano and Tsantalis, Nikolaos and Di Penta, Massimiliano and\r\n\t          Oliveto, Rocco and Canfora, Gerardo},\r\n\ttitle = {Recommending Refactorings Based on Team Co-maintenance Patterns},\r\n\tbooktitle = {Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering},\r\n\t--series = {ASE '14},\r\n\tyear = {2014},\r\n\tisbn = {978-1-4503-3013-8},\r\n\tlocation = {Vasteras, Sweden},\r\n\tpages = {337--342},\r\n\tnumpages = {6},\r\n\t--url = {http://doi.acm.org/10.1145/2642937.2642948},\r\n\tdoi = {10.1145/2642937.2642948},\r\n\tacmid = {2642948},\r\n\tpublisher = {ACM},\r\n\taddress = {New York, NY, USA},\r\n\tkeywords = {developers, refactoring, teams},\r\n\turl_Paper ={https://users.encs.concordia.ca/~nikolaos/publications/ASE_2014.pdf},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n\n\n\n
\n
\n\n
\n
\n  \n 2013\n \n \n (5)\n \n \n
\n
\n \n \n
\n \n\n \n \n Mikhaiel, R.; Tsantalis, N.; Negara, N.; Stroulia, E.; and Xing, Z.\n\n\n \n \n \n \n \n Differencing UML Models: A Domain-Specific vs. a Domain-Agnostic Method.\n \n \n \n \n\n\n \n\n\n\n In Lämmel, R.; Saraiva, J.; and Visser, J., editor(s), Generative and Transformational Techniques in Software Engineering IV, volume 7680, of Lecture Notes in Computer Science, pages 159-196. Springer Berlin Heidelberg, 2013.\n \n\n\n\n
\n\n\n\n \n \n \"Differencing paper\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n \n \n \n \n \n \n\n\n\n
\n
@incollection{Mikhaiel:2013,\r\n\tyear={2013},\r\n\tisbn={978-3-642-35991-0},\r\n\tbooktitle={Generative and Transformational Techniques in Software Engineering IV},\r\n\tvolume={7680},\r\n\tseries={Lecture Notes in Computer Science},\r\n\teditor={L\\"{a}mmel, Ralf and Saraiva, Jo\\~{a}o and Visser, Joost},\r\n\tdoi={10.1007/978-3-642-35992-7_4},\r\n\ttitle={Differencing UML Models: A Domain-Specific vs. a Domain-Agnostic Method},\r\n\t--url={http://dx.doi.org/10.1007/978-3-642-35992-7_4},\r\n\tpublisher={Springer Berlin Heidelberg},\r\n\tkeywords={UML, software differencing, software evolution},\r\n\tauthor={Mikhaiel, Rimon and Tsantalis, Nikolaos and Negara, Natalia and Stroulia, Eleni and Xing, Zhenchang},\r\n\tpages={159-196},\r\n\tlanguage={English},\r\n\turl_Paper ={https://users.encs.concordia.ca/~nikolaos/publications/GTTSE_2013.pdf},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n
\n \n\n \n \n Tsantalis, N.; Guana, V.; Stroulia, E.; and Hindle, A.\n\n\n \n \n \n \n \n A Multidimensional Empirical Study on Refactoring Activity.\n \n \n \n \n\n\n \n\n\n\n In Proceedings of the 2013 Conference of the Center for Advanced Studies on Collaborative Research, pages 132–146, Riverton, NJ, USA, 2013. IBM Corp.\n \n\n\n\n
\n\n\n\n \n \n \"APaper\n  \n \n \n \"A paper\n  \n \n\n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n\n\n\n
\n
@inproceedings{Tsantalis:2013:MES:2555523.2555539,\r\n\tauthor = {Tsantalis, Nikolaos and Guana, Victor and Stroulia, Eleni and Hindle, Abram},\r\n\ttitle = {A Multidimensional Empirical Study on Refactoring Activity},\r\n\tbooktitle = {Proceedings of the 2013 Conference of the Center for Advanced Studies on Collaborative Research},\r\n\t--series = {CASCON '13},\r\n\tyear = {2013},\r\n\tlocation = {Ontario, Canada},\r\n\tpages = {132--146},\r\n\tnumpages = {15},\r\n\turl = {http://dl.acm.org/citation.cfm?id=2555523.2555539},\r\n\tacmid = {2555539},\r\n\t--doi = {doi.acm.org/10.1145/2555523.2555539},\r\n\tpublisher = {IBM Corp.},\r\n\taddress = {Riverton, NJ, USA},\r\n\turl_Paper ={https://users.encs.concordia.ca/~nikolaos/publications/CASCON_2013.pdf},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n
\n \n\n \n \n Negara, N.; Tsantalis, N.; and Stroulia, E.\n\n\n \n \n \n \n \n Feature Detection in Ajax-Enabled Web Applications.\n \n \n \n \n\n\n \n\n\n\n In Proceedings of the 17th European Conference on Software Maintenance and Reengineering, pages 154-163, 2013. \n \n\n\n\n
\n\n\n\n \n \n \"Feature paper\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n\n\n\n
\n
@inproceedings{Negara:2013:6498464, \r\n\tauthor={Negara, N. and Tsantalis, N. and Stroulia, E.}, \r\n\tbooktitle={Proceedings of the 17th European Conference on Software Maintenance and Reengineering}, \r\n\ttitle={Feature Detection in Ajax-Enabled Web Applications}, \r\n\tyear={2013}, \r\n\tpages={154-163}, \r\n\tdoi={10.1109/CSMR.2013.25}, \r\n\tISSN={1534-5351},\r\n\turl_Paper ={https://users.encs.concordia.ca/~nikolaos/publications/CSMR_2013.pdf},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n
\n \n\n \n \n Krishnan, G. P.; and Tsantalis, N.\n\n\n \n \n \n \n \n Refactoring Clones: An Optimization Problem.\n \n \n \n \n\n\n \n\n\n\n In Proceedings of the 29th IEEE International Conference on Software Maintenance, pages 360–363, Washington, DC, USA, 2013. IEEE Computer Society\n \n\n\n\n
\n\n\n\n \n \n \"Refactoring paper\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n\n\n\n
\n
@inproceedings{Krishnan:2013:RCO:2550526.2550590,\r\n\tauthor = {Krishnan, Giri Panamoottil and Tsantalis, Nikolaos},\r\n\ttitle = {Refactoring Clones: An Optimization Problem},\r\n\tbooktitle = {Proceedings of the 29th IEEE International Conference on Software Maintenance},\r\n\t--series = {ICSM '13},\r\n\tyear = {2013},\r\n\tisbn = {978-0-7695-4981-1},\r\n\tpages = {360--363},\r\n\tnumpages = {4},\r\n\t--url = {http://dx.doi.org/10.1109/ICSM.2013.47},\r\n\tdoi = {10.1109/ICSM.2013.47},\r\n\tacmid = {2550590},\r\n\tpublisher = {IEEE Computer Society},\r\n\taddress = {Washington, DC, USA},\r\n\turl_Paper ={https://users.encs.concordia.ca/~nikolaos/publications/ICSM_2013.pdf},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n
\n \n\n \n \n Tsantalis, N.; and Krishnan, G. P.\n\n\n \n \n \n \n \n Refactoring Clones: A New Perspective.\n \n \n \n \n\n\n \n\n\n\n In Proceedings of the 7th International Workshop on Software Clones, pages 12–13, Piscataway, NJ, USA, 2013. IEEE Press\n \n\n\n\n
\n\n\n\n \n \n \"RefactoringPaper\n  \n \n \n \"Refactoring paper\n  \n \n\n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n\n\n\n
\n
@inproceedings{Tsantalis:2013:RCN:2662708.2662712,\r\n\tauthor = {Tsantalis, Nikolaos and Krishnan, Giri Panamoottil},\r\n\ttitle = {Refactoring Clones: A New Perspective},\r\n\tbooktitle = {Proceedings of the 7th International Workshop on Software Clones},\r\n\t--series = {IWSC '13},\r\n\tyear = {2013},\r\n\tisbn = {978-1-4673-6445-4},\r\n\tlocation = {San Francisco, California},\r\n\tpages = {12--13},\r\n\tnumpages = {2},\r\n\turl = {http://dl.acm.org/citation.cfm?id=2662708.2662712},\r\n\t--doi = {doi.acm.org/10.1145/2662708.2662712},\r\n\tacmid = {2662712},\r\n\tpublisher = {IEEE Press},\r\n\taddress = {Piscataway, NJ, USA},\r\n\turl_Paper ={https://users.encs.concordia.ca/~nikolaos/publications/IWSC_2013.pdf},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n\n\n\n
\n
\n\n
\n
\n  \n 2012\n \n \n (1)\n \n \n
\n
\n \n \n
\n \n\n \n \n Fokaefs, M.; Tsantalis, N.; Stroulia, E.; and Chatzigeorgiou, A.\n\n\n \n \n \n \n \n Identification and Application of Extract Class Refactorings in Object-oriented Systems.\n \n \n \n \n\n\n \n\n\n\n Journal of Systems and Software, 85(10): 2241–2260. October 2012.\n \n\n\n\n
\n\n\n\n \n \n \"Identification paper\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n \n \n \n \n \n \n \n \n\n\n\n
\n
@article{Fokaefs:2012:IAE:2330373.2330432,\r\n\tauthor = {Fokaefs, Marios and Tsantalis, Nikolaos and Stroulia, Eleni and Chatzigeorgiou, Alexander},\r\n\ttitle = {Identification and Application of Extract Class Refactorings in Object-oriented Systems},\r\n\tjournal = {Journal of Systems and Software},\r\n\tissue_date = {October, 2012},\r\n\tvolume = {85},\r\n\tnumber = {10},\r\n\tmonth = oct,\r\n\tyear = {2012},\r\n\tissn = {0164-1212},\r\n\tpages = {2241--2260},\r\n\tnumpages = {20},\r\n\t--url = {http://dx.doi.org/10.1016/j.jss.2012.04.013},\r\n\tdoi = {10.1016/j.jss.2012.04.013},\r\n\tacmid = {2330432},\r\n\tpublisher = {Elsevier Science Inc.},\r\n\taddress = {New York, NY, USA},\r\n\tkeywords = {clustering, object-oriented programming, refactoring, software reengineering},\r\n\turl_Paper ={https://users.encs.concordia.ca/~nikolaos/publications/JSS_2012.pdf},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n\n\n\n
\n
\n\n
\n
\n  \n 2011\n \n \n (5)\n \n \n
\n
\n \n \n
\n \n\n \n \n Tsantalis, N.; and Chatzigeorgiou, A.\n\n\n \n \n \n \n \n Identification of Extract Method Refactoring Opportunities for the Decomposition of Methods.\n \n \n \n \n\n\n \n\n\n\n Journal of Systems and Software, 84(10): 1757–1782. October 2011.\n \n\n\n\n
\n\n\n\n \n \n \"Identification paper\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n \n \n \n \n \n \n\n\n\n
\n
@article{Tsantalis:2011:IEM:2010601.2010870,\r\n\tauthor = {Tsantalis, Nikolaos and Chatzigeorgiou, Alexander},\r\n\ttitle = {Identification of Extract Method Refactoring Opportunities for the Decomposition of Methods},\r\n\tjournal = {Journal of Systems and Software},\r\n\tissue_date = {October, 2011},\r\n\tvolume = {84},\r\n\tnumber = {10},\r\n\tmonth = oct,\r\n\tyear = {2011},\r\n\tissn = {0164-1212},\r\n\tpages = {1757--1782},\r\n\tnumpages = {26},\r\n\t--url = {http://dx.doi.org/10.1016/j.jss.2011.05.016},\r\n\tdoi = {10.1016/j.jss.2011.05.016},\r\n\tacmid = {2010870},\r\n\tpublisher = {Elsevier Science Inc.},\r\n\taddress = {New York, NY, USA},\r\n\tkeywords = {Extract Method refactoring, module decomposition, program slicing},\r\n\turl_Paper ={https://users.encs.concordia.ca/~nikolaos/publications/JSS_2011.pdf},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n
\n \n\n \n \n Fokaefs, M.; Mikhaiel, R.; Tsantalis, N.; Stroulia, E.; and Lau, A.\n\n\n \n \n \n \n \n An Empirical Study on Web Service Evolution.\n \n \n \n \n\n\n \n\n\n\n In Proceedings of the 2011 IEEE International Conference on Web Services, pages 49–56, Washington, DC, USA, 2011. IEEE Computer Society\n \n\n\n\n
\n\n\n\n \n \n \"An paper\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n \n \n \n \n \n \n \n \n\n\n\n
\n
@inproceedings{Fokaefs:2011:ESW:2058528.2059963,\r\n\tauthor = {Fokaefs, Marios and Mikhaiel, Rimon and Tsantalis, Nikolaos and Stroulia, Eleni and Lau, Alex},\r\n\ttitle = {An Empirical Study on Web Service Evolution},\r\n\tbooktitle = {Proceedings of the 2011 IEEE International Conference on Web Services},\r\n\t--series = {ICWS '11},\r\n\tyear = {2011},\r\n\tisbn = {978-0-7695-4463-2},\r\n\tpages = {49--56},\r\n\tnumpages = {8},\r\n\t--url = {http://dx.doi.org/10.1109/ICWS.2011.114},\r\n\tdoi = {10.1109/ICWS.2011.114},\r\n\tacmid = {2059963},\r\n\tpublisher = {IEEE Computer Society},\r\n\taddress = {Washington, DC, USA},\r\n\tkeywords = {service evolution, tree-edit distance, WSDL, clustering},\r\n\turl_Paper ={https://users.encs.concordia.ca/~nikolaos/publications/ICWS_2011.pdf},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n
\n \n\n \n \n Tsantalis, N.; and Chatzigeorgiou, A.\n\n\n \n \n \n \n \n Ranking Refactoring Suggestions Based on Historical Volatility.\n \n \n \n \n\n\n \n\n\n\n In Proceedings of the 15th European Conference on Software Maintenance and Reengineering, pages 25-34, 2011. \n \n\n\n\n
\n\n\n\n \n \n \"Ranking paper\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n\n\n\n
\n
@inproceedings{Tsantalis:2011:5741256, \r\n\tauthor={Tsantalis, N. and Chatzigeorgiou, A.}, \r\n\tbooktitle={Proceedings of the 15th European Conference on Software Maintenance and Reengineering}, \r\n\ttitle={Ranking Refactoring Suggestions Based on Historical Volatility}, \r\n\tyear={2011}, \r\n\tpages={25-34}, \r\n\tdoi={10.1109/CSMR.2011.7}, \r\n\tISSN={1534-5351},\r\n\turl_Paper ={https://users.encs.concordia.ca/~nikolaos/publications/CSMR_2011.pdf},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n
\n \n\n \n \n Tsantalis, N.; Negara, N.; and Stroulia, E.\n\n\n \n \n \n \n \n Webdiff: A Generic Differencing Service for Software Artifacts.\n \n \n \n \n\n\n \n\n\n\n In Proceedings of the 27th IEEE International Conference on Software Maintenance, pages 586–589, Washington, DC, USA, 2011. IEEE Computer Society\n \n\n\n\n
\n\n\n\n \n \n \"Webdiff: paper\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n\n\n\n
\n
@inproceedings{Tsantalis:2011:WGD:2117694.2119680,\r\n\tauthor = {Tsantalis, Nikolaos and Negara, Natalia and Stroulia, Eleni},\r\n\ttitle = {Webdiff: A Generic Differencing Service for Software Artifacts},\r\n\tbooktitle = {Proceedings of the 27th IEEE International Conference on Software Maintenance},\r\n\t--series = {ICSM '11},\r\n\tyear = {2011},\r\n\tisbn = {978-1-4577-0663-9},\r\n\tpages = {586--589},\r\n\tnumpages = {4},\r\n\t--url = {http://dx.doi.org/10.1109/ICSM.2011.6080836},\r\n\tdoi = {10.1109/ICSM.2011.6080836},\r\n\tacmid = {2119680},\r\n\tpublisher = {IEEE Computer Society},\r\n\taddress = {Washington, DC, USA},\r\n\turl_Paper ={https://users.encs.concordia.ca/~nikolaos/publications/ICSM_2011.pdf},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n
\n \n\n \n \n Fokaefs, M.; Tsantalis, N.; Stroulia, E.; and Chatzigeorgiou, A.\n\n\n \n \n \n \n \n JDeodorant: Identification and Application of Extract Class Refactorings.\n \n \n \n \n\n\n \n\n\n\n In Proceedings of the 33rd International Conference on Software Engineering, pages 1037–1039, New York, NY, USA, 2011. ACM\n \n\n\n\n
\n\n\n\n \n \n \"JDeodorant: paper\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n \n \n \n \n \n \n \n \n\n\n\n
\n
@inproceedings{Fokaefs:2011:JIA:1985793.1985989,\r\n\tauthor = {Fokaefs, Marios and Tsantalis, Nikolaos and Stroulia, Eleni and Chatzigeorgiou, Alexander},\r\n\ttitle = {JDeodorant: Identification and Application of Extract Class Refactorings},\r\n\tbooktitle = {Proceedings of the 33rd International Conference on Software Engineering},\r\n\t--series = {ICSE '11},\r\n\tyear = {2011},\r\n\tisbn = {978-1-4503-0445-0},\r\n\tlocation = {Waikiki, Honolulu, HI, USA},\r\n\tpages = {1037--1039},\r\n\tnumpages = {3},\r\n\t--url = {http://doi.acm.org/10.1145/1985793.1985989},\r\n\tdoi = {10.1145/1985793.1985989},\r\n\tacmid = {1985989},\r\n\tpublisher = {ACM},\r\n\taddress = {New York, NY, USA},\r\n\tkeywords = {clustering, object-oriented programming, refactoring, software reengineering},\r\n\turl_Paper ={https://users.encs.concordia.ca/~nikolaos/publications/ICSE_2011.pdf},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n\n\n\n
\n
\n\n
\n
\n  \n 2010\n \n \n (3)\n \n \n
\n
\n \n \n
\n \n\n \n \n Tsantalis, N.; and Chatzigeorgiou, A.\n\n\n \n \n \n \n \n Identification of Refactoring Opportunities Introducing Polymorphism.\n \n \n \n \n\n\n \n\n\n\n Journal of Systems and Software, 83(3): 391–404. March 2010.\n \n\n\n\n
\n\n\n\n \n \n \"Identification paper\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n \n \n \n \n \n \n \n \n\n\n\n
\n
@article{Tsantalis:2010:IRO:1739313.1739401,\r\n\tauthor = {Tsantalis, Nikolaos and Chatzigeorgiou, Alexander},\r\n\ttitle = {Identification of Refactoring Opportunities Introducing Polymorphism},\r\n\tjournal = {Journal of Systems and Software},\r\n\tissue_date = {March, 2010},\r\n\tvolume = {83},\r\n\tnumber = {3},\r\n\tmonth = mar,\r\n\tyear = {2010},\r\n\tissn = {0164-1212},\r\n\tpages = {391--404},\r\n\tnumpages = {14},\r\n\t--url = {http://dx.doi.org/10.1016/j.jss.2009.09.017},\r\n\tdoi = {10.1016/j.jss.2009.09.017},\r\n\tacmid = {1739401},\r\n\tpublisher = {Elsevier Science Inc.},\r\n\taddress = {New York, NY, USA},\r\n\tkeywords = {object-oriented design, polymorphism, refactoring, State/Strategy design pattern},\r\n\turl_Paper ={https://users.encs.concordia.ca/~nikolaos/publications/JSS_2010.pdf},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n
\n \n\n \n \n Kniesel, G.; Binun, A.; Hegedűs, P.; Fülöp, L.; Chatzigeorgiou, A.; Guéhéneuc, Y.; and Tsantalis, N.\n\n\n \n \n \n \n \n DPDX–Towards a Common Result Exchange Format for Design Pattern Detection Tools.\n \n \n \n \n\n\n \n\n\n\n In Proceedings of the 14th European Conference on Software Maintenance and Reengineering, pages 232-235, 2010. \n \n\n\n\n
\n\n\n\n \n \n \"DPDX–Towards paper\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n\n\n\n
\n
@inproceedings{Kniesel:2010, \r\n\tauthor={Kniesel, G. and Binun, A. and Heged\\H{u}s, P. and F\\"{u}l\\"{o}p, L.J. and Chatzigeorgiou, A. and\r\n\t        Gu\\'{e}h\\'{e}neuc, Y. and Tsantalis, N.}, \r\n\tbooktitle={Proceedings of the 14th European Conference on Software Maintenance and Reengineering}, \r\n\ttitle={DPDX--Towards a Common Result Exchange Format for Design Pattern Detection Tools}, \r\n\tyear={2010}, \r\n\tpages={232-235}, \r\n\tdoi={10.1109/CSMR.2010.40}, \r\n\tISSN={1534-5351},\r\n\turl_Paper ={https://users.encs.concordia.ca/~nikolaos/publications/CSMR_2010.pdf},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n
\n \n\n \n \n Tsantalis, N.\n\n\n \n \n \n \n \n Evaluation and Improvement of Software Architecture: Identification of Design Problems in Object-Oriented Systems and Resolution through Refactorings.\n \n \n \n \n\n\n \n\n\n\n Ph.D. Thesis, Department of Applied Informatics, University of Macedonia, Thessaloniki, Greece, August 2010.\n \n\n\n\n
\n\n\n\n \n \n \"Evaluation paper\n  \n \n\n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n\n\n\n
\n
@phdthesis{Tsantalis:2010,\r\n\tauthor = {Nikolaos Tsantalis}, \r\n\ttitle = {Evaluation and Improvement of Software Architecture:\r\n\tIdentification of Design Problems in Object-Oriented Systems and Resolution through Refactorings},\r\n\tschool = {Department of Applied Informatics, University of Macedonia},\r\n\tyear = 2010,\r\n\taddress = {Thessaloniki, Greece},\r\n\tmonth = aug,\r\n\turl_Paper ={https://users.encs.concordia.ca/~nikolaos/publications/PhD_Thesis.pdf},\r\n}\r\n
\n
\n\n\n\n
\n\n\n\n\n\n
\n
\n\n
\n
\n  \n 2009\n \n \n (3)\n \n \n
\n
\n \n \n
\n \n\n \n \n Tsantalis, N.; and Chatzigeorgiou, A.\n\n\n \n \n \n \n \n Identification of Move Method Refactoring Opportunities.\n \n \n \n \n\n\n \n\n\n\n IEEE Transactions on Software Engineering, 35(3): 347–367. May 2009.\n \n\n\n\n
\n\n\n\n \n \n \"Identification paper\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n\n\n\n
\n
@article{Tsantalis:2009:IMM:1591905.1592367,\r\n\tauthor = {Tsantalis, Nikolaos and Chatzigeorgiou, Alexander},\r\n\ttitle = {Identification of Move Method Refactoring Opportunities},\r\n\tjournal = {IEEE Transactions on Software Engineering},\r\n\tissue_date = {May 2009},\r\n\tvolume = {35},\r\n\tnumber = {3},\r\n\tmonth = may,\r\n\tyear = {2009},\r\n\tissn = {0098-5589},\r\n\tpages = {347--367},\r\n\tnumpages = {21},\r\n\t--url = {http://dx.doi.org/10.1109/TSE.2009.1},\r\n\tdoi = {10.1109/TSE.2009.1},\r\n\tacmid = {1592367},\r\n\tpublisher = {IEEE Press},\r\n\taddress = {Piscataway, NJ, USA},\r\n\turl_Paper ={https://users.encs.concordia.ca/~nikolaos/publications/TSE_2009.pdf},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n
\n \n\n \n \n Fokaefs, M.; Tsantalis, N.; Chatzigeorgiou, A.; and Sander, J.\n\n\n \n \n \n \n \n Decomposing object-oriented class modules using an agglomerative clustering technique.\n \n \n \n \n\n\n \n\n\n\n In Proceedings of the 25th IEEE International Conference on Software Maintenance, pages 93-101, 2009. \n \n\n\n\n
\n\n\n\n \n \n \"Decomposing paper\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n\n\n\n
\n
@inproceedings{Fokaefs:2009:5306332, \r\n\tauthor={Fokaefs, M. and Tsantalis, N. and Chatzigeorgiou, A. and Sander, J.}, \r\n\tbooktitle={Proceedings of the 25th IEEE International Conference on Software Maintenance}, \r\n\ttitle={Decomposing object-oriented class modules using an agglomerative clustering technique}, \r\n\tyear={2009}, \r\n\tpages={93-101}, \r\n\tdoi={10.1109/ICSM.2009.5306332}, \r\n\tISSN={1063-6773},\r\n\turl_Paper ={https://users.encs.concordia.ca/~nikolaos/publications/ICSM_2009.pdf},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n
\n \n\n \n \n Tsantalis, N.; and Chatzigeorgiou, A.\n\n\n \n \n \n \n \n Identification of Extract Method Refactoring Opportunities.\n \n \n \n \n\n\n \n\n\n\n In Proceedings of the 13th European Conference on Software Maintenance and Reengineering, pages 119-128, 2009. \n \n\n\n\n
\n\n\n\n \n \n \"Identification paper\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n\n\n\n
\n
@inproceedings{Tsantalis:2009:4812745, \r\n\tauthor={Tsantalis, N. and Chatzigeorgiou, A.}, \r\n\tbooktitle={Proceedings of the 13th European Conference on Software Maintenance and Reengineering}, \r\n\ttitle={Identification of Extract Method Refactoring Opportunities}, \r\n\tyear={2009}, \r\n\tpages={119-128}, \r\n\tdoi={10.1109/CSMR.2009.23}, \r\n\tISSN={1534-5351},\r\n\turl_Paper ={https://users.encs.concordia.ca/~nikolaos/publications/CSMR_2009.pdf},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n\n\n\n
\n
\n\n
\n
\n  \n 2008\n \n \n (3)\n \n \n
\n
\n \n \n
\n \n\n \n \n Halkidis, S. T.; Tsantalis, N.; Chatzigeorgiou, A.; and Stephanides, G.\n\n\n \n \n \n \n \n Architectural Risk Analysis of Software Systems Based on Security Patterns.\n \n \n \n \n\n\n \n\n\n\n IEEE Transactions on Dependable and Secure Computing, 5(3): 129-142. 2008.\n \n\nFeatured article of the July-September 2008 issue\n\n
\n\n\n\n \n \n \"Architectural paper\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n\n\n\n
\n
@article{10.1109/TDSC.2007.70240,\r\n\tauthor = {Spyros T. Halkidis and Nikolaos Tsantalis and Alexander Chatzigeorgiou and George Stephanides},\r\n\ttitle = {Architectural Risk Analysis of Software Systems Based on Security Patterns},\r\n\tjournal = {IEEE Transactions on Dependable and Secure Computing},\r\n\tvolume = {5},\r\n\tnumber = {3},\r\n\tissn = {1545-5971},\r\n\tyear = {2008},\r\n\tpages = {129-142},\r\n\tdoi = {10.1109/TDSC.2007.70240},\r\n\t--url = {http://doi.ieeecomputersociety.org/10.1109/TDSC.2007.70240},\r\n\tpublisher = {IEEE Computer Society},\r\n\taddress = {Los Alamitos, CA, USA},\r\n\tbibbase_note = {<span style="color: blue"><strong>Featured article of the July-September 2008 issue</strong></span>},\r\n\turl_Paper ={https://users.encs.concordia.ca/~nikolaos/publications/TDSC_2008.pdf},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n
\n \n\n \n \n Chatzigeorgiou, A.; Tsantalis, N.; and Deligiannis, I.\n\n\n \n \n \n \n \n An Empirical Study on Students' Ability to Comprehend Design Patterns.\n \n \n \n \n\n\n \n\n\n\n Comput. Educ., 51(3): 1007–1016. November 2008.\n \n\n\n\n
\n\n\n\n \n \n \"An paper\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n\n\n\n
\n
@article{Chatzigeorgiou:2008:ESS:1383659.1383847,\r\n\tauthor = {Chatzigeorgiou, Alexander and Tsantalis, Nikolaos and Deligiannis, Ignatios},\r\n\ttitle = {An Empirical Study on Students' Ability to Comprehend Design Patterns},\r\n\tjournal = {Comput. Educ.},\r\n\tissue_date = {November, 2008},\r\n\tvolume = {51},\r\n\tnumber = {3},\r\n\tmonth = nov,\r\n\tyear = {2008},\r\n\tissn = {0360-1315},\r\n\tpages = {1007--1016},\r\n\tnumpages = {10},\r\n\t--url = {http://dx.doi.org/10.1016/j.compedu.2007.10.003},\r\n\tdoi = {10.1016/j.compedu.2007.10.003},\r\n\tacmid = {1383847},\r\n\tpublisher = {Elsevier Science Ltd.},\r\n\taddress = {Oxford, UK},\r\n\turl_Paper ={https://users.encs.concordia.ca/~nikolaos/publications/CompEdu_2008.pdf},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n
\n \n\n \n \n Tsantalis, N.; Chaikalis, T.; and Chatzigeorgiou, A.\n\n\n \n \n \n \n \n JDeodorant: Identification and Removal of Type-Checking Bad Smells.\n \n \n \n \n\n\n \n\n\n\n In Proceedings of the 12th European Conference on Software Maintenance and Reengineering, pages 329–331, Washington, DC, USA, 2008. IEEE Computer Society\n \n\n\n\n
\n\n\n\n \n \n \"JDeodorant: paper\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n\n\n\n
\n
@inproceedings{Tsantalis:2008:JIR:1545010.1545391,\r\n\tauthor = {Tsantalis, Nikolaos and Chaikalis, Theodoros and Chatzigeorgiou, Alexander},\r\n\ttitle = {JDeodorant: Identification and Removal of Type-Checking Bad Smells},\r\n\tbooktitle = {Proceedings of the 12th European Conference on Software Maintenance and Reengineering},\r\n\t--series = {CSMR '08},\r\n\tyear = {2008},\r\n\tisbn = {978-1-4244-2157-2},\r\n\tpages = {329--331},\r\n\tnumpages = {3},\r\n\t--url = {http://dx.doi.org/10.1109/CSMR.2008.4493342},\r\n\tdoi = {10.1109/CSMR.2008.4493342},\r\n\tacmid = {1545391},\r\n\tpublisher = {IEEE Computer Society},\r\n\taddress = {Washington, DC, USA},\r\n\turl_Paper ={https://users.encs.concordia.ca/~nikolaos/publications/CSMR_2008.pdf},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n\n\n\n
\n
\n\n
\n
\n  \n 2007\n \n \n (1)\n \n \n
\n
\n \n \n
\n \n\n \n \n Fokaefs, M.; Tsantalis, N.; and Chatzigeorgiou, A.\n\n\n \n \n \n \n \n JDeodorant: Identification and Removal of Feature Envy Bad Smells.\n \n \n \n \n\n\n \n\n\n\n In Proceedings of the 23rd IEEE International Conference on Software Maintenance, pages 519-520, 2007. \n \n\n\n\n
\n\n\n\n \n \n \"JDeodorant: paper\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n\n\n\n
\n
@inproceedings{Fokaefs:2007:4362679, \r\n\tauthor={Fokaefs, M. and Tsantalis, N. and Chatzigeorgiou, A.}, \r\n\tbooktitle={Proceedings of the 23rd IEEE International Conference on Software Maintenance}, \r\n\ttitle={JDeodorant: Identification and Removal of Feature Envy Bad Smells}, \r\n\tyear={2007}, \r\n\tpages={519-520}, \r\n\tdoi={10.1109/ICSM.2007.4362679}, \r\n\tISSN={1063-6773},\r\n\turl_Paper ={https://users.encs.concordia.ca/~nikolaos/publications/ICSM_2007.pdf},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n\n\n\n
\n
\n\n
\n
\n  \n 2006\n \n \n (2)\n \n \n
\n
\n \n \n
\n \n\n \n \n Tsantalis, N.; Chatzigeorgiou, A.; Stephanides, G.; and Halkidis, S. T.\n\n\n \n \n \n \n \n Design Pattern Detection Using Similarity Scoring.\n \n \n \n \n\n\n \n\n\n\n IEEE Transactions on Software Engineering, 32(11): 896–909. November 2006.\n \n\n\n\n
\n\n\n\n \n \n \"Design paper\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n\n\n\n
\n
@article{Tsantalis:2006:DPD:1248727.1248777,\r\n\tauthor = {Tsantalis, Nikolaos and Chatzigeorgiou, Alexander and Stephanides, George and Halkidis, Spyros T.},\r\n\ttitle = {Design Pattern Detection Using Similarity Scoring},\r\n\tjournal = {IEEE Transactions on Software Engineering},\r\n\tissue_date = {November 2006},\r\n\tvolume = {32},\r\n\tnumber = {11},\r\n\tmonth = nov,\r\n\tyear = {2006},\r\n\tissn = {0098-5589},\r\n\tpages = {896--909},\r\n\tnumpages = {14},\r\n\t--url = {http://dx.doi.org/10.1109/TSE.2006.112},\r\n\tdoi = {10.1109/TSE.2006.112},\r\n\tacmid = {1248777},\r\n\tpublisher = {IEEE Press},\r\n\taddress = {Piscataway, NJ, USA},\r\n\turl_Paper ={https://users.encs.concordia.ca/~nikolaos/publications/TSE_2006.pdf},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n
\n \n\n \n \n Chatzigeorgiou, A.; Tsantalis, N.; and Stephanides, G.\n\n\n \n \n \n \n \n Application of Graph Theory to OO Software Engineering.\n \n \n \n \n\n\n \n\n\n\n In Proceedings of the 2006 International Workshop on Workshop on Interdisciplinary Software Engineering Research, pages 29–36, New York, NY, USA, 2006. ACM\n \n\n\n\n
\n\n\n\n \n \n \"Application paper\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n
\n
@inproceedings{Chatzigeorgiou:2006:AGT:1137661.1137669,\r\n\tauthor = {Chatzigeorgiou, Alexander and Tsantalis, Nikolaos and Stephanides, George},\r\n\ttitle = {Application of Graph Theory to OO Software Engineering},\r\n\tbooktitle = {Proceedings of the 2006 International Workshop on Workshop on Interdisciplinary Software Engineering Research},\r\n\t--series = {WISER '06},\r\n\tyear = {2006},\r\n\tisbn = {1-59593-409-X},\r\n\tlocation = {Shanghai, China},\r\n\tpages = {29--36},\r\n\tnumpages = {8},\r\n\t--url = {http://doi.acm.org/10.1145/1137661.1137669},\r\n\tdoi = {10.1145/1137661.1137669},\r\n\tacmid = {1137669},\r\n\tpublisher = {ACM},\r\n\taddress = {New York, NY, USA},\r\n\tkeywords = {"God" classes, clustering, design pattern detection, graph theory, scale-free},\r\n\turl_Paper ={https://users.encs.concordia.ca/~nikolaos/publications/WISER_2006.pdf},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n\n\n\n
\n
\n\n
\n
\n  \n 2005\n \n \n (1)\n \n \n
\n
\n \n \n
\n \n\n \n \n Tsantalis, N.; Chatzigeorgiou, A.; and Stephanides, G.\n\n\n \n \n \n \n \n Predicting the Probability of Change in Object-Oriented Systems.\n \n \n \n \n\n\n \n\n\n\n IEEE Transactions on Software Engineering, 31(7): 601–614. July 2005.\n \n\n\n\n
\n\n\n\n \n \n \"Predicting paper\n  \n \n\n \n \n doi\n  \n \n\n \n link\n  \n \n\n bibtex\n \n\n \n\n \n\n \n \n \n \n \n \n \n\n  \n \n \n\n\n\n
\n
@article{Tsantalis:2005:PPC:1083823.1084002,\r\n\tauthor = {Tsantalis, Nikolaos and Chatzigeorgiou, Alexander and Stephanides, George},\r\n\ttitle = {Predicting the Probability of Change in Object-Oriented Systems},\r\n\tjournal = {IEEE Transactions on Software Engineering},\r\n\tissue_date = {July 2005},\r\n\tvolume = {31},\r\n\tnumber = {7},\r\n\tmonth = jul,\r\n\tyear = {2005},\r\n\tissn = {0098-5589},\r\n\tpages = {601--614},\r\n\tnumpages = {14},\r\n\t--url = {http://dx.doi.org/10.1109/TSE.2005.83},\r\n\tdoi = {10.1109/TSE.2005.83},\r\n\tacmid = {1084002},\r\n\tpublisher = {IEEE Press},\r\n\taddress = {Piscataway, NJ, USA},\r\n\turl_Paper ={https://users.encs.concordia.ca/~nikolaos/publications/TSE_2005.pdf},\r\n}\r\n\r\n
\n
\n\n\n\n
\n\n\n\n\n\n
\n
\n\n\n\n\n
\n\n\n \n\n \n \n \n \n\n
\n"}; document.write(bibbase_data.data);