ABSTRACT
Various types of DevOps tools are widely used for software development in order to ensure software quality and quick delivery of the software. Typical examples of such DevOps tools are continuous integration tool Jenkins, version control tool Git, unit test tool JUnit, coding style checker Checkstyle and static code analysis tool FindBugs. In this paper, we propose an education support system ALECSS to train software developers by integrating several DevOps tools explained above. The system automatically checks the programs submitted by the student teams and provides feedbacks generated by the DevOps tools to the students. The feedbacks are valuable to learn various techniques for high quality software development and to support evaluation by the teacher. We also develop various scripts for output checking and Git working status checking. These scripts use exercise contents and student's information in checking and sometimes need to generate typical results from templates for comparing them with the students' answers. Such scripts are also integrated to ALECSS. We evaluate ALECSS by comparing the messages generated by Checkstyle and FindBugs with the review comments produced the student teams. We found that the automatically generated messages and the review comments are greatly differ so that both are important for effective education.
- John Allspaw, Paul Hammond, 10+ Deploys Per Day: Dev and Ops Cooperation at Flickr, 2009.Google Scholar
- Len Bass, Ingo Weber, Liming Zhu, DevOps: A Software Architect's Perspective, SEI Series in Software Engineering, Addison-Wesley, 2015. Google ScholarDigital Library
- Jeff Langr, Andy Hunt, Dave Thomas, Pragmatic Unit Testing in Java 8 with JUnit, Pragmatic Bookshelf, 2015. Google ScholarDigital Library
- Checkstyle, Checkstyle 6.12.1 : http://checkstyle.sourceforge.net/Google Scholar
- FindBugs, Find Bugs in Java Programs: http://findbugs.sourceforge.net/Google Scholar
- Andriy Lesyuk, Mastering Redmine, 2nd Edition, Packt Publishing, 2016 Google ScholarDigital Library
- Jon Loeliger, Version Control with Git, O'Reilly Media, 2009.Google Scholar
- John Ferguson Smart, Jenkins: The Definitive Guide, O'Reilly Media, 2011. Google ScholarDigital Library
- Steve Holzner, Ant: The Definitive Guide, 2nd Edition, O'Reilly Media, 2005. Google ScholarDigital Library
Index Terms
- Software engineer education support system ALECSS utilizing DevOps tools
Recommendations
DevOps and software quality: A systematic mapping
AbstractQuality pressure is one of the factors affecting processes for software development in its various stages. DevOps is one of the proposed solutions to such pressure. The primary focus of DevOps is to increase the deployment speed, ...
Assessing the potentials of CASE-tools in software process improvement: a benchmarking study
SAST '96: Proceedings of the Proceedings of the Fourth International Symposium on Assessment of Software Tools (SAST '96)CASE tools have been thought as one of the most important means for implementing the derived quality programs. Two basic questions should be answered to find the right CASE tool: what attributes the CASE tools should exhibit and how the existing tools ...
Comments