PRACTICAL MACHINE LEARNING FOR SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING

Author(s):  
TIM MENZIES
Author(s):  
Nattaphol Thanachawengsakul ◽  
Panita Wannapiroon ◽  
Prachyanun Nilsook

The knowledge repository management system architecture of digital knowledge engineering using machine learning (KRMS-SWE) to promote software engineering competencies is comprised of four parts, as follows: 1) device service, 2) application service, 3) module service of the KRMS-SWE and 4) machine learning service and storage unit. The knowledge creation, storage, testing and assessing of students’ knowledge in software engineering is carried out using a knowledge verification process with machine learning and divided into six steps, as follows: pre-processing, filtration, stemming, indexing, data mining and interpretation and evaluation. The overall result regarding the suitability of the KRMS-SWE is assessed by five experts who have high levels of experience in related fields. The findings reveal that this research approach can be applied to the future development of the KRMS-SWE.


Author(s):  
MICHAEL L. GIBSON ◽  
CHARLES A. SNYDER

An emerging enterprise-wide orientation evidenced by comprehensive enterprise modeling supported by a technological architecture that includes computer aided software engineering (CASE) tools may empower knowledge and software engineers greater than ever before. An enterprise-wide orientation seeks to carry the strategy of an organization throughout its operations. Enterprise modeling makes it possible to have this panoramic view of the enterprise. An advanced technological architecture that includes CASE empowers enterprise functional personnel, knowledge engineers, and software engineers with the methodological and technological platform required to produce a comprehensive enterprise model. Current environmental trends are influencing how well organizations implement this enterprise-wide orientation, modeling perspective, and the methodological and technological platform.


Software engineering is an important area that deals with development and maintenance of software. After developing a software, it is always important to track its performance. One has to always see whether the software functions according to customer requirements. To ensure this, faulty and non- faulty modules must be identified. For this purpose, one can make use of a model for binary class classification of faults. Different technique's outputs differ in one or the other way with respect to the following: fault dataset used, complexity, classification algorithm implemented, etc. Various machine learning techniques can be used for this purpose. But this paper deals with the best classification algorithms available till date and they are decision tree, random forest, naive bayes and logistic regression (tree-based techniques and bayesian based techniques). The motive behind developing such a project is to identify the faulty modules within a software before the actual software testing takes place. As a result, the time consumed by testers or the workload of the testers can be reduced to an extent. This work is very well useful to those working in software industry and also to those people carrying out research in software engineering where the lifecycle of development of a software is discussed.


Sign in / Sign up

Export Citation Format

Share Document