Username   Password       Forgot your password?  Forgot your username? 

 

Understanding the Similarity of Log Revision Behaviors in Open Source Software

Volume 14, Number 8, August 2018, pp. 1887-1895
DOI: 10.23940/ijpe.18.08.p27.18871895

Xu Niu, Shanshan Li, Zhouyang Jia, Shulin Zhou, Wang Li, and Xiangke Liao

National University of Defense Technology, Changsha, 410073, China

(Submitted on May 13, 2018; Revised on June 20, 2018; Accepted on July 27, 2018)

Abstract:

As logging code evolves with bug fixes and feature updates, developers may miss some log revisions due to a lack of general specifications and attention from developers. This makes it more troublesome to achieve good logging practices. In this paper, we try to study log revision behaviors from evolutionary history. Motivated by similar edits of clone codes, we assume there also exist similar log revisions that implicated log revision behaviors. Based on this assumption, we study the similarity of log revision behaviors and answer six research questions. Specifically, we find that 54.14% of log revisions belong to groups of similar log revisions and 64.4% of groups contain log revisions that are missed by developers. We stress the importance of branch statements on learning from similar log revisions since 53.51% of sampled similar log revisions are related to the semantics of branch statements.

 

References: 27

              1. Q. Fu, J. Zhu, W. Hu, J. G. Lou, R. Ding, Q. Lin, D. Zhang, and T. Xie, “Where do Developers Log? an Empirical Study on Logging Practices in Industry,” in Proceedings of the 36th International Conference on Software Engineering (ICSE), pp. 24-33, Hyderabad, India, May 2014
              2. A. Pecchia, M. Cinque, G. Carrozza, and D. Cotroneo, “Industry Practices and Event Logging: Assessment of a Critical Software Development Process,” in Proceedings of the 37th IEEE International Conference on Software Engineering (ICSE), pp. 169-178, Florence, Italy, May 2015
              3. D. Yuan, S. Park, and Y. Zhou, “Characterizing Logging Practices in Open-source Software,” in Proceedings of the 34th International Conference on Software Engineering (ICSE), pp. 102-112, Zürich, Switzerland, June 2012
              4. D. Yuan, S. Park, P. Huang, Y. Liu, and M. Lee, “Be Conservative: Enhancing Failure Diagnosis with Proactive Logging,” in Proceedings of the 10th USENIX conference on Operating Systems Design and Implementation (OSDI), pp. 293-306, California, USA, October 2012
              5. J. Zhu, P. He, Q. Fu, H. Zhang, M. R. Lyu, and D. Zhang, “Learning to Log: Helping Developers Make Informed Logging Decisions,” in Proceedings of the 37th International Conference on Software Engineering (ICSE), pp. 415-425, Firenze, Italy, May 2015
              6. N. Meng, M. Kim, and K. S. McKinley, “LASE: Locating and Applying Systematic Edits by Learning from Examples,” in Proceedings of the 35th International Conference on Software Engineering (ICSE), pp. 502-511, San Francisco, America, May 2013
              7. R. Rolim, G. Soares, L. D’Antoni, O. Polozov, S. Gulwani, R. Gheyi, R. Suzuki, and B. Hartmann, “Learning Syntactic Program Transformations from Examples,” in Proceedings of the 39th International Conference on Software Engineering (ICSE), pp. 404-415, Buenos Aires, Argentina, May 2017
              8. B. Chen and Z. M. Jiang, “Characterizing Logging Practices in Java-based Open Source Software Projects a Replication Study in Apache Software Foundation,” Empirical Software Engineering, Vol. 22, No. 1, pp. 330-37, 2017
              9. B. Chen and Z. M. Jiang, “Characterizing and Detecting Anti-Patterns in the Logging Code,” in Proceedings of the 39th International Conference on Software Engineering (ICSE), pp. 71-81, Buenos Aires, Argentina, May 2017
              10. H. Li, W. Shang, Y. Zou, and A. E. Hassan, “Towards Just-in-time Suggestions for Log Changes,” Empirical Software Engineering, Vol. 22, No. 4, pp. 1831-1865, 2017
              11. D. Kawrykow and M. P. Robillard, “Non-essential Changes in Version Histories,” in Proceedings of the 33th International Conference on Software Engineering (ICSE), pp. 351-360, Hawaii, USA, May 2011
              12. T. A. S. Foundation, “Httpd - Apache Hypertext Transfer Protocol Server,” (http://httpd.apache.org/docs/2.4/programs/httpd.html)
              13. S. F. Conservancy, “Git,” (https://git-scm.com/)
              14. W. Venema, “The Postfix Home Page,” (http://www.postfix.org/)
              15. Collectd, “The System Statistics Collection Daemon,” (http://collectd.org/)
              16. F. S. Foundation, “Tar - Gnu Project - Free Software Foundation,” (https://www.gnu.org/software/tar/)
              17. F. S. Foundation, “Wget - Gnu Project - Free Software Foundation,” (https://www.gnu.org/software/wget/)
              18. S. Media, “Sloccount Download - Sourceforge.net,” (https://sourceforge. net/projects/sloccount/)
              19. Github, “Github,” (https://github.com/)
              20. Cgit, “Savannah Git Hosting,” (http://git.savannah.gnu.org/cgit/)
              21. J. R. Falleri, F. Morandat, X. Blanc, M. Martinez, and M. Montperrus, “Fine-grained and Accurate Source Code Differencing,” in Proceedings of the 29th international conference on Automated Software Engineering (ASE), pp. 313-324, Vasteras, Sweden, September 2014
              22. Github, “Github - Gumtreediff/gumtree: a Neat Code Differencing Tool,” (https://github.com/GumTreeDiff/gumtree)
              23. M. Mondai, C. K. Roy, and K. A. Schneider, “Micro-clones in Evolving Software,” in Proceedings of the 25th IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER), pp. 50-60, Campobasso, Italy, March 2018
              24. O. Polozov and S. Gulwani, “FlashMeta: a Framework for Inductive Program Synthesis,” ACM SIGPLAN Notices, Vol. 50, No. 10, pp. 107-126, 2015
              25. R. Ding, H. Zhou, J. G. Lou, H. Zhang, Q. Lin, Q. Fu, D. Zhang, and T. Xie, “Log 2: a Cost-aware Logging Mechanism for Performance Diagnosis,” in Proceedings of the 2015 USENIX Conference on USENIX Annual Technical Conference (USENIX ATC), pp. 139-150, California, America, July 2015
              26. X. Zhao, K. Rodrigues, and M. Stumm, “Log20: Fully Automated Optimal Placement of Log Printing Statements under Specified Overhead Threshold,” in Proceedings of the 26th Symposium on Operating Systems Principles (SOSP), pp. 565-581, Shanghai, China, October 2017
              27. D. Yuan, J. Zheng, S. Park, Y. Zhou, and S. Savage, “Improving Software Diagnosability via Log Enhancement,” ACM Transactions on Computer Systems, Vol. 30, No. 1, pp. 1-28, Zürich, Switzerland, June 2012

                           

                          Please note : You will need Adobe Acrobat viewer to view the full articles.Get Free Adobe Reader

                          Attachments:
                          Download this file (27-IJPE-08-27.pdf)27-IJPE-08-27.pdf[Understanding the Similarity of Log Revision Behaviors in Open Source Software]668 Kb
                           
                          This site uses encryption for transmitting your passwords. ratmilwebsolutions.com