An analysis of tools for automatic software development and automatic code generation
DOI:
https://doi.org/10.17533/udea.redin.n77a10Keywords:
code generation, automatic code generation, CASE, IDE, software developmentAbstract
Software development is an important area in software engineering, which is why a wide range of techniques, methods, and approaches has emerged to facilitate software development automation. This paper presents an analysis and evaluation of tools for automated software development and automatic code generation in order to determine whether they meet a set of quality metrics. Diverse quality metrics were considered such as effectiveness, productivity, safety, and satisfaction in order to carry out a qualitative and quantitative evaluation. The tools evaluated are CASE tools, frameworks, and Integrated Development Environments (IDEs). The evaluation was conducted to measure not only the tools’ ability to be employed, but also their support for automated software development and automatic source code generation. The aim of this work is to provide a methodology and a brief review of the most important works to identify the main features of these works and present a comparative evaluation in qualitative and quantitative terms of quality metrics. This would provide software developers with the information they need to decide the tools that can be useful for them.
Downloads
References
I. Sommerville and P. Sawyer, Requirements engineering: a good practice guide, 1st ed. New York, USA: John Wiley & Sons, Inc., 1997.
I. Sommerville, Software Engineering. International computer science series, 8th ed. Boston, USA: AddisonWesley Longman Publishing Co., Inc., 2004.
C. Zapata and J. Chaverra, “Una mirada conceptual a la generación automática de código”, Rev. EIA. Esc. Ing. Antioq, no. 13, pp. 155-169, 2010.
B. Kernighan and P. Plauger, Software tools in Pascal, 1st ed. Boston, USA: Addison-Wesley, 1981.
D. Kuhn, “Selecting and effectively using a computer aided software engineering tool,” in Annual Westinghouse computer symposium, Pittsburgh, USA, 1989.
L. Agner, I. Soares, P. Stadzisz and J. Simão, “A Brazilian survey on UML and model-driven practices for embedded software development”, Journal of Systems and Software, vol. 86, no. 4, pp. 997-1005, 2013.
S. Pierucci and E. Ranzi, “A review of features in current automatic generation software for hydrocarbon oxidation mechanisms”, Comput. Chem. Eng., vol. 32, no. 4-5, pp. 805-826, 2008.
S. Anand et al., “An Orchestrated Survey of Methodologies for Automated Software Test Case Generation”, J. Syst. Softw., vol. 86, no. 8, pp. 1978- 2001, 2013.
R. Novais, A. Torres, T. Mendes, M. Mendonça, and N. Zazworka, “Software evolution visualization: A systematic mapping study”, Inf. Softw. Technol., vol. 55, no. 11, pp. 1860-1883, 2013.
S. Thomas, B. Adams, A. Hassan and D. Blostein, “Studying software evolution using topic models”, Sci. Comput. Program., vol. 80, Part B, pp. 457-479, 2014.
U. Kanewala and J. Bieman, “Testing Scientific Software: A Systematic Literature Review”, Inf. Softw. Technol., vol. 56, no. 10, pp. 1219-1232, 2014.
A. Magdaleno, C. Werner and R. Araujo, “Reconciling software development models: A quasi-systematic review”, J. Syst. Softw., vol. 85, no. 2, pp. 351-369, 2012.
A. Mehmood and D. Jawawi, “Aspect-oriented modeldriven code generation: A systematic mapping study”, Inf. Softw. Technol., vol. 55, no. 2, pp. 395-411, 2013.
D. Alonso, J. Pastor, P. Sánchez, B. Álvarez and C. Vicente, “Generación Automática de Software para Sistemas de Tiempo Real: Un Enfoque basado en Componentes, Modelos y Frameworks”, Rev. Iberoam. Automática e Informática Ind. RIAI, vol. 9, no. 2, pp. 170- 181, 2012.
C. Yang, V. Vyatkin and C. Pang, “Model-Driven Development of Control Software for Distributed Automation: A Survey and an Approach”, IEEE Transactions on Systems, Man, and Cybernetics: Systems, vol. 44, no. 3. pp. 292-305, 2014.
H. Liao, J. Jiang and Y. Zhang, “A Study of Automatic Code Generation”, in 2010 International Conference on Computational and Information Sciences (ICCIS), Chengdu, China, 2010, pp. 689-691.
M. Jiménez and M. Piattini, “Problems and Solutions in Distributed Software Development: A Systematic Review”, in 2nd International Conference on Software Engineering Approaches for Offshore and Outsourced Development (SEAFOOD), Zurich, Switzerland, 2008, pp. 107-125.
Y. Seo and Y. Song, “A Study on Automatic Code Generation Tool from Design Patterns Based on the XMI”, in 2006 International Conference on Computational Science and Its Applications (ICCSA), Glasgow, UK, 2006, pp. 864-872.
P. Andersson and M. Höst, “UML and SystemC - A Comparison and Mapping Rules for Automatic Code Generation”, in Embedded Systems Specification and Design Languages, E. Villar (ed). Amsterdam, Netherlands: Springer, 2008, pp. 199-209.
R. Urwiler, N. Ramarapu, R. Wilkes and M. Frolick, “Computer-aided software engineering: The determinants of an effective implementation strategy”, Inf. Manag., vol. 29, no. 4, pp. 215-225, 1995.
Y. Jing, “Research on computer-aided prototyping system and software evolution”, J. Zhejiang Univ. Sci. A, vol. 1, no. 4, pp. 384-387, 2000.
V. Sairaman, N. Ranganathan and N. Singh, “An automatic code generation tool for partitioned software in distributed systems”, in 19th International Conference on VLSI Design. Held jointly with 5th International Conference on Embedded Systems and Design, Hyderabad, India, 2006, pp. 477-480.
A. Gavilanes, P. Martín and R. Torres, “A Tool for Automatic Code Generation from Schemas”, in 9th International Conference on Computational Science (ICCS), Baton Rouge, USA, 2009, pp. 63-73.
S. Erdogan, S. McFarr and D. Maglidt, “EDEN: an integrated computer-aided software engineering environment”, in 8th Annual International Phoenix Conference on Computers and Communications, Scottsdale, USA, 1989, pp. 349-353.
Visual Paradigm International, Company. [Online]. Available: http://www.visual-paradigm.com/aboutus/. Accessed on: Jan. 20, 2015.
PowerDesigner, SAP Sybase PowerDesigner 16.5, 2013. [Online]. Available: http://www.powerdesigner.de/en/. Accessed on: Jan. 20, 2015.
L. Maguire, T. McGinnity and L. McDaid, “Issues in the development of an integrated environment for embedded system design: Part B: design and implementation”, Microprocess. Microsyst., vol. 23, no. 4, pp. 199-206, 1999.
A. Childs et al., “Cadena: An Integrated Development Environment for Analysis, Synthesis, and Verification of Component-Based Systems”, in 7th International Conference on Fundamental Approaches to Software Engineering (FASE), Barcelona, Spain, 2004, pp. 160- 164.
J. Jarvensivu, M. Kosola, M. Kuusipalo, P. Reijula and T. Mikkonen, “Developing an Open Source Integrated Development Environment for a Mobile Device”, in International Conference on Software Engineering Advances (ICSEA), Tahiti, France, 2006, p. 55.
W. Viana and R. Andrade, “XMobile: A MB-UID environment for semi-automatic generation of adaptive applications for mobile devices”, J. Syst. Softw., vol. 81, no. 3, pp. 382-394, 2008.
S. Kuntsche, T. Barz, R. Kraus, H. Arellano and G. Wozny, “MOSAIC a web-based modeling environment for code generation”, Comput. Chem. Eng., vol. 35, no. 11, pp. 2257-2273, 2011.
JetBrains, IntelliJ IDEA, The Most Intelligent Java IDE, 2015. [Online]. Available: https://www.jetbrains.com/idea/. Accessed on: Jan. 20, 2015.
A. Elwahidi and E. Merlo, “Generating user interfaces from specifications produced by a reverse engineering process”, in 2nd Working Conference on Reverse Engineering, Toronto, Canada, 1995, pp. 292-298.
J. Guyon, P. Moreau and A. Reilles, “An Integrated Development Environment for Pattern Matching Programming”, Electron. Notes Theor. Comput. Sci., vol. 107, pp. 33-49, 2004.
D. Alonso, C. Vicente, P. Sánchez, B. Álvarez and F. Losilla, “Automatic Ada Code Generation Using a Model-Driven Engineering Approach”, in 12th AdaEurope International Conference on Reliable Software Technologies, Geneva, Switzerland, 2007, pp. 168-179.
G. Frederick, P. Bond and S. Tilley, “VULCAN: A Tool for Automatically Generating Code from Design Patterns”, in 2nd Annual IEEE Systems Conference, Montreal, Canada, 2008, pp. 1-4.
Y. Danilchenko, “Automatic Code Generation Using Artificial Intelligence”, Ph.D. dissertation, Northern Kentucky University, Kentucky, USA, 2012.
Adobe, Adobe Dreamweaver CC, 2015. [Online]. Available: http://www.adobe.com/mx/products/dreamweaver.html. Accessed on: Jan. 20, 2015.
J. Mccall, P. Richards and G. Walters, “Factors in Software Quality: Concept and Definitions of Software Quality”, Air Force Systems Command, Rome Air Development Center, New York, USA, Final Tech. Rep. RADC-TR-77-369, Nov. 1977.
B. Boehm, J. Brown and M. Lipow, “Quantitative Evaluation of Software Quality”, in 2nd International Conference on Software Engineering (ICSE), Los Alamitos, USA, 1976, pp. 592-605.
R. Dromey, “Cornering the chimera”, IEEE Softw., vol. 13, no. 1, pp. 33-43, 1996.
P. Crosby, Quality is Free: The Art of Making Quality Certain, 1st ed. Michigan, USA: McGraw-Hill, 1979.
W. Deming, Out of the Crisis, 1st ed. Massachusetts, USA: The Mit Press, 2000.
A. Feigenbaum, Total quality control: Achieving productivity, market penetration and advantage in the global economy, 4th ed. New York, USA: McGraw-Hill Education, 2005.
International Organization for Standardization (ISO), Software engineering - Product quality - Part 1: Quality Model, ISO/IEC 9126-1:2001, 2001.
B. Kitchenham, S. Linkman and D. Law, “DESMET: a methodology for evaluating software engineering methods and tools”, Computing & Control Engineering Journal, vol. 8, no. 3. pp. 120-126, 1997.
E. Forman and S. Gass, “The Analytic Hierarchy Process - An Exposition”, Oper. Res., vol. 49, no. 4, pp. 469-486, 2001.
T. Saaty and K. Peniwati, Group Decision Making: Drawing Out and Reconciling Differences, 1st ed. Pittsburgh, USA: RWS Publications, 2008.
R. Likert, “A technique for the measurement of attitudes”, Archives of psychology, vol. 22, no. 140, pp. 5-55, 1932.
A. Sutcliffe, N. Maiden, S. Minocha and D. Manuel, “Supporting scenario-based requirements engineering”, IEEE Transactions on Software Engineering, vol. 24, no. 12, pp. 1072-1088, 1998.
M. Paredes, G. Alor, A. Rodríguez, R. Valencia and E. Jiménez, “A systematic review of tools, languages, and methodologies for mashup development”, Softw. Pract. Exp., vol. 45, no. 3, pp. 365-397, 2015.
L. Colombo, G. Alor, A. Rodríguez and R. Colomo, “Alexandria: A Visual Tool for Generating Multi-device Rich Internet Applications”, J. Web Eng., vol. 12, no. 3-4, pp. 317-359, 2013.
W. Galitz, The Essential Guide to User Interface Design: An Introduction to GUI Design Principles and Techniques, 2nd ed. Ed. New York, USA: John Wiley & Sons, Inc., 1997.
International Organization for Standardization (ISO), Ergonomic requirements for office work with visual display terminals (VDTs) - Part 11: Guidance on usability, ISO 9241-11:1998, 1998.
A. Schilling, “Toward A General Modular Systems Theory and Its Application to Interfirm Product Modularity”, Academy of Management Review, vol. 25, no. 2, pp. 312-334, 2000.
Downloads
Published
How to Cite
Issue
Section
License
Copyright (c) 2015 Revista Facultad de Ingeniería Universidad de Antioquia
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Revista Facultad de Ingeniería, Universidad de Antioquia is licensed under the Creative Commons Attribution BY-NC-SA 4.0 license. https://creativecommons.org/licenses/by-nc-sa/4.0/deed.en
You are free to:
Share — copy and redistribute the material in any medium or format
Adapt — remix, transform, and build upon the material
Under the following terms:
Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
NonCommercial — You may not use the material for commercial purposes.
ShareAlike — If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original.
The material published in the journal can be distributed, copied and exhibited by third parties if the respective credits are given to the journal. No commercial benefit can be obtained and derivative works must be under the same license terms as the original work.