摘要(英) |
During software development life cycle, it will definitely be updated many times for new function implements, fixed bugs and other factors. But each software revision sometimes may cause side effects. Effect of software quality[1][2], such as unskilled programmer, project design considerations not comprehensive, business interest and relevant technologies, or difficult to explain alternative solution, and then make the software modular to more loose, that software engineering desired high cohesion and low coupling force concept lopsided, thus derived from a variety of management issues.
On the other hand the general software after a long evolution, the more feature-rich software modules it uses third-party libraries more and more, so depth of its software are increasingly complex, therefore, it is very helpful to refactoring your code, but the problem is how to find out these hidden issue in abstract code.
This paper uses of the three code of Bad Smell (1.Long Method, 2.Large Class, 3.ParaList) measurements for the programmers, and then find out the bad smells in Java project, it let programmers establish relationship information by Java Compiler. Finally system uses Cytoscape as a Eclipse plug-in to make graphics via relationship information. It is no longer need to synchronize UML when the software revision. It can make programmers and project managers pay attention to the quality of the program and then find out possible hidden Bug.
|
參考文獻 |
[1] Michele Tufano, Fabio Palomba, Gabriele Bavota,Rocco Oliveto, Massimiliano Di Penta, Andrea De Lucia, Denys Poshyvanyk, “When and Why Your Code Starts to Smell Bad, ”, 2015.
[2] E. Van Emden and L. Moonen, “Java Quality Assurance by Detecting Code Smells, ”, In Proceedings of the Ninth Working Conference on Reverse Engineering (WCRE′02), pp.97-106, 2002.
[3] Francesca Arcelli Fontana, Pietro Braione and Marco Zanoni. “Automatic detection of bad smells in code: An experimental assessment, ” In Journal of Object Technology, Vol. 11, No. 2, pp. 5:1–38, 2012.
[4] Almas Hamid, Muhammad Ilyas, Muhammad Hummayun and Asad Nawaz. “A Comparative Study on Code Smell Detection Tools, ” In A Comparative Study on Code Smell Detection Tools, Vol.60, pp.25-32, 2013.
[5] Tiago Pessoa, Fernando Brito e Abreu, Miguel Pessoa Monteiro, and Sergio Bryton. “An Eclipse Plugin to Support Code Smells Detection, ”, In CoRR, April 2012.
[6] Matthew James Munro, “Product Metrics for Automatic Identification of “Bad Smell, ” Design Problems in Java Source-Code, ”, 2005.
[7] P. Suresh and S. MuthuKumaran, “Refactoring and Detection of Bad Smells of Coding Using Larger Scale and Critical Incident Technique, ”In International Journal of Science and Research, ISSN (Online): 2319-7064, 2013.
[8] Jiang Dexun, Ma Peijun, Su Xiaohong and Wang Tiantian, “DETECTION AND REFACTORING OF BAD SMELL CAUSED BY LARGE SCALE, ”, In International Journal of Software Engineering & Applications (IJSEA), Vol.4, No.5, September 2013.
[9] Emerson Murphy-Hil and Andrew P. Black, “An Interactive Ambient Visualization for Code Smells, ” 2010.
[10] Chris Parnin, Carsten Gorg and Ogechi Nnadi, “A Catalogue of Lightweight Visualizations to Support Code Smell Inspection, ”, September 2004.
[11] Anshu Rani and Harpreet Kaur, “Product Metrics for Automatic Identification of Bad Smell, ”, In International Journal For Technological Research In Engineering, Vol.1, Issue 10, June 2014.
[12] “OSGi Wiki” ,[Online]. Available: https://en.wikipedia.org/wiki/OSGi
[13] “Developing enterprise OSGi applications for WebSphere Application Server”
” ,[Online].Available: http://www.ibm.com/developerworks/websphere/techjournal/1007_robinson/1007_robinson.html
[14] “Cytoscape Wiki” ,[Online]. Available:
http://wiki.cytoscape.org/Cytoscape_3/UserManual
[15] “Apache’s Maven Tutorial” ,[Online]. Available:
http://www.tutorialspoint.com/maven/maven_tutorial.pdf
[16] “Eclipse Equinox Bunldes” ,[Online]. Available: http://www.eclipse.org/equinox/bundles/
[17] “OSGi Runtime Coparision” ,[Online]. Available:
http://blog.jetztgrad.net/osgi-stuff/osgi-runtime-comparison/
[18] “What are the extension and extension points” ,[Online]. Available:
https://wiki.eclipse.org/FAQ_What_are_extensions_and_extension_points%3F
[19] “A Comparison of Eclipse Extensions and OSGi Services” ,[Online]. Available:
http://www.eclipsezone.com/articles/extensions-vs-services/
[20] “Extending the Eclipse IDE - Plug-in development - Tutorial”
,[Online]. Available: http://www.vogella.com/tutorials/EclipsePlugIn/article.html
[21] “Developing Eclipse plug-ins” ,[Online]. Available:
http://www.ibm.com/developerworks/library/os-ecplug/
[22] “Eclipse PDE” ,[Online]. Available: https://eclipse.org/pde/
[23] “Cytoscape 3.0 App Development”,[Online]. Available:
http://wiki.cytoscape.org/Cytoscape_3/AppDeveloper
[24] “Eclipse Java Development Tools Git Address”,[Online]. Available:
http://git.eclipse.org/c/jdt/eclipse.jdt.core.git/refs/tags
|