Papers by Romi Satria Wahono
Journal of Intelligent Systems, Feb 18, 2015
C o p y r i g h t @ 2 0 1 5 I l m u K o m p u t e r . C o m 1

Dataset software metrics secara umum bersifat tidak seimbang, hal ini dapat menurunkan kinerja mo... more Dataset software metrics secara umum bersifat tidak seimbang, hal ini dapat menurunkan kinerja model prediksi cacat software karena cenderung menghasilkan prediksi kelas mayoritas. Secara umum ketidakseimbangan kelas dapat ditangani dengan dua pendekatan, yaitu level data dan level algoritma. Pendekatan level data ditujukan untuk memperbaiki keseimbangan kelas, sedangkan pendekatan level algoritma ditujukan untuk memperbaiki algoritma atau menggabungkan (ensemble) pengklasifikasi agar lebih konduktif terhadap kelas minoritas. Pada penelitian ini diusulkan pendekatan level data dengan resampling, yaitu random oversampling (ROS), dan random undersampling (RUS), dan mensintesis menggunakan algoritma FSMOTE. Pengklasifikasi yang digunakan adalah Naϊve Bayes. Hasil penelitian menunjukkan bahwa model FSMOTE+NB merupakan model pendekatan level data terbaik pada prediksi cacat software karena nilai sensitivitas dan G-Mean model FSMOTE+NB meningkat secara signifikan, sedangkan model ROS+NB dan RUS+NB tidak meningkat secara signifikan.

Software berkualitas tinggi adalah software yang tidak ditemukan cacat selama pemeriksaan dan pen... more Software berkualitas tinggi adalah software yang tidak ditemukan cacat selama pemeriksaan dan pengujian. Memperbaiki software yang cacat setelah pengiriman membutuhkan biaya jauh lebih mahal dari pada selama pengembangan. Pengujian merupakan proses paling mahal dan menghabiskan waktu sampai 50% dari jadwal pengembangan software. Tetapi belum ada model prediksi cacat software yang berlaku umum. Naϊve Bayes merupakan model paling efektif dan efisien, tetapi belum dapat mengklasifikasikan dataset berbasis metrik dengan kinerja terbaik secara umum dan selalu konsisten dalam semua penelitian. Dataset software metrics secara umum bersifat tidak seimbang, hal ini dapat menurunkan kinerja model prediksi cacat software karena cenderung menghasilkan prediksi kelas mayoritas. Secara umum ketidakseimbangan kelas dapat ditangani dengan dua pendekatan, yaitu level data dan level algoritma. Pendekatan level data ditujukan untuk memperbaiki keseimbangan kelas. Sedangkan pendekatan level algoritma dilakukan dengan memperbaiki algoritma atau menggabungkan (ensemble) pengklasifikasi tunggal agar menjadi lebih baik. Algoritma ensemble yang populer adalah boosting dan bagging. AdaBoost merupakan salah satu algoritma boosting yang telah menunjukkan dapat memperbaiki kinerja pengklasifikasi. Maka pada penelitian ini diusulkan penerapan teknik ensemble menggunakan algoritma AdaBoost dan Bagging. Pengklasifikasi yang digunakan adalah Naϊve Bayes. Hasil penelitian menunjukkan bahwa teknik ensemble dengan algoritma Bagging dapat meningkatkan sensitivitas dan G-Mean secara signifikan, sedangkan AdaBoost tidak dapat meningkatkan secara signifikan. Sehingga disimpulkan bahwa Bagging lebih baik daripada AdaBoost ketika digunakan untuk meningkatkan kinerja Naϊve Bayes pada prediksi cacat software.

Software defects are expensive in quality and cost. The accurate prediction of defect-prone softw... more Software defects are expensive in quality and cost. The accurate prediction of defect-prone software modules can help direct test effort, reduce costs, and improve the quality of software. Machine learning classification algorithms is a popular approach for predicting software defect. Various types of classification algorithms have been applied for software defect prediction. However, no clear consensus on which algorithm perform best when individual studies are looked at separately. In this research, a comparison framework is proposed, which aims to benchmark the performance of a wide range of classification models within the field of software defect prediction. For the purpose of this study, 10 classifiers are selected and applied to build classification models and test their performance in 9 NASA MDP datasets. Area under curve (AUC) is employed as an accuracy indicator in our framework to evaluate the performance of classifiers. Friedman and Nemenyi post hoc tests are used to test for significance of AUC differences between classifiers. The results show that the logistic regression perform best in most NASA MDP datasets. Naive bayes, neural network, support vector machine and k* classifiers also perform well. Decision tree based classifiers tend to underperform, as well as linear discriminant analysis and k-nearest neighbor.

Journal of Software
Software defect prediction has been an important research topic in the software engineering field... more Software defect prediction has been an important research topic in the software engineering field, especially to solve the inefficiency and ineffectiveness of existing industrial approach of software testing and reviews. The software defect prediction performance decreases significantly because the data set contains noisy attributes and class imbalance. Feature selection is generally used in machine learning when the learning task involves high-dimensional and noisy attribute datasets. Most of the feature selection algorithms, use local search throughout the entire process, consequently near-optimal to optimal solutions are quiet difficult to be achieved. Metaheuristic optimization can find a solution in the full search space and use a global search ability, significantly increasing the ability of finding high-quality solutions within a reasonable period of time. In this research, we propose the combination of metaheuristic optimization methods and bagging technique for improving the performance of the software defect prediction. Metaherustic optimization methods (genetic algorithm and particle swarm optimization) are applied to deal with the feature selection, and bagging technique is employed to deal with the class imbalance problem. Results have indicated that the proposed methods makes an impressive improvement in prediction performance for most classifiers. Based on the comparison result, we conclude that there is no significant difference between particle swarm optimization and genetic algorithm when used as feature selection for most classifiers in software defect prediction.

International Journal of Software Engineering and Its Applications
The costs of finding and correcting software defects have been the most expensive activity in sof... more The costs of finding and correcting software defects have been the most expensive activity in software development. The accurate prediction of defect prone software modules can help the software testing effort, reduce costs, and improve the software testing process by focusing on fault-prone module. Recently, static code attributes are used as defect predictors in software defect prediction research, since they are useful, generalizable, easy to use, and widely used. However, two common aspects of data quality that can affect performance of software defect prediction are class imbalance and noisy attributes. In this research, we propose the combination of particle swarm optimization and bagging technique for improving the accuracy of the software defect prediction. Particle swarm optimization is applied to deal with the feature selection, and bagging technique is employed to deal with the class imbalance problem. The proposed method is evaluated using the data sets from NASA metric data repository. Results have indicated that the proposed method makes an impressive improvement in prediction performance for most classifiers.

Recently, software defect prediction is an important research topic in the software engineering f... more Recently, software defect prediction is an important research topic in the software engineering field. The accurate prediction of defect prone software modules can help the software testing effort, reduce costs, and improve the software testing process by focusing on fault-prone module. Software defect data sets have an imbalanced nature with very few defective modules compared to defect-free ones. The software defect prediction performance also decreases significantly because the dataset contains noisy attributes. In this research, we propose the combination of genetic algorithm and bagging technique for improving the performance of the software defect prediction. Genetic algorithm is applied to deal with the feature selection, and bagging technique is employed to deal with the class imbalance problem. The proposed method is evaluated using the data sets from NASA metric data repository. Results have indicated that the proposed method makes an impressive improvement in prediction performance for most classifiers.
The new challenge in artificial intelligence is extending the functionality of traditional expert... more The new challenge in artificial intelligence is extending the functionality of traditional expert systems to be able to work on distributed information systems, such as digital library, electronic commerce, etc. Artificial intelligence allows us to build system, which is smarter than it otherwise would be, and which is qualitative better than system that does not use artificial intelligence techniques. In this paper we present the architecture of digital library by adopting multi agent approach from artificial intelligence. By using this approach is expected there will be a smart digital library, which can handle the need of the more complex digital library systems.
Salah satu paradigma baru dalam software engineering adalah paradigma software agent. Bagaimanapu... more Salah satu paradigma baru dalam software engineering adalah paradigma software agent. Bagaimanapun juga sebenarnya secara teori, keberadaannya sudah lama diungkap oleh para peneliti khususnya di bidang Artificial Intelligence. Dewasa ini dengan berkembangnya teknologi jaringan komputer, termasuk Internet didalamnya, kebutuhan paradigma software dan progam yang bisa menjalankan tugas yang didelegasikan kepadanya secara mandiri, memiliki intelegensi, dan kemampuan bergerak dalam lingkungan jaringan komputer, sudah sangat mendesak. Disinilah peran software agent menjadi sesuatu yang tidak bisa tidak, harus ada untuk mengatasi beberapa masalah-masalah yang timbul seperti tersebut diatas. Pada makalah ini akan dibahas tentang teknologi software agent, baik dalam tinjauan teori maupun praktis, dan juga akan dijelaskan tentang aplikasi dari teknologi agent diberbagai bidang penelitian.

The recent evolution of hybrid architectures for knowledge based systems has resulted in several ... more The recent evolution of hybrid architectures for knowledge based systems has resulted in several approaches that combine Rule-Based Reasoning (RBR) with Case-Based Reasoning (CBR) techniques to engender performance improvements over more traditional one-representation architectures. CBR is used in learning and problem-solving systems to solve new problems by recalling and reusing specific knowledge obtained from past experience. RBR systems learn general domain-specific knowledge from a set of training data and represent the knowledge in comprehensible form as if-then rules. Due to their complementary properties, CBR and RBR techniques have been combined in some systems to solve problems to which single technique fails to provide a satisfactory solution. In the knowledge-based systems for examination tasks, advice task and so on, not only rules but also cases are necessary for decision-making. In this paper we present a new hybrid reasoning architecture for integrating both reasoning paradigms for solving the object classes identification's problems in the object-oriented software design.
The use of internet and web technologies for the delivery of knowledge and information continues ... more The use of internet and web technologies for the delivery of knowledge and information continues to grow at an exponential rate. eLearning, also known as web based teaching and learning or web based training (WBT) is a framework for providing an education environment to both students and teachers. Recently, there are no a free web based elearning environment that can be worked continuosly, regarding to the lack of strategies and bussines model. The purpose of this paper is to present a new strategy for developing a free web based elearning environments. This study is based on the development of IlmuKomputer.Com, a free web based elearning environment that focus on the computer science's field.
Multi Agent Systems: Issues, Approaches and Challenges Multi Agent System: Beberapa Isu, Pendekatan dan Tantangan

Rational decision making depends on what one believes, what one desires, and what one knows. In c... more Rational decision making depends on what one believes, what one desires, and what one knows. In conventional decision models, beliefs are represented by probabilities and desires are represented by utilities. Software agents are knowledgeable entities capable of managing their own set of beliefs and desires, and they can decide upon the next operation to execute autonomously. They are also interactive entities capable of filtering communications and managing dialogues. Knowledgeability includes representing knowledge about the external world, reasoning with it, and sharing it. Interactions include negotiations to perform tasks in cooperative, coordinative, and competitive ways. In this paper we focus on decision-making mechanisms for agent-based systems on the basis of agent interaction. We identify possible interaction scenarios and define mechanisms for decision making in uncertain environments. It is believed that software agents will become the underlying technology that offers the capability of distribution of competence, control, and information for the next generation of ubiquitous, distributed, and heterogeneous information systems.
This paper examines the issues associated with the methodology for object identification and refi... more This paper examines the issues associated with the methodology for object identification and refinement, and also the use of multi-agent system approach for collaborative object-oriented analysis and design. We propose an agent based system called OOExpert for solving problems on object model creation process by identifying and refining objects from software requirements based on object based formal specification.
Abstract. The requirements engineering is the first phase of software engineering process, in whi... more Abstract. The requirements engineering is the first phase of software engineering process, in which user requirements are collected, understood, and specified. Requirements engineering is recognized as a critical task, since m any software failures originate from inconsistent, incomplete or simply incorrect requirements specifications. In this paper we analyze the root problems of the requirements engineering from several viewpoints.
Nowadays, patterns are one of the latest hot topics in software development. The goal of patterns... more Nowadays, patterns are one of the latest hot topics in software development. The goal of patterns within the software community is to create a body of literature to help software developers resolve recurring problems encountered throughout all of software development. This paper illustrates the efforts for applying the patterns paradigm in requirements engineering. The current research focusing on requirements pattern is also described.
Nowadays, web application has been going to be an e-business application. In the e-business envir... more Nowadays, web application has been going to be an e-business application. In the e-business environment, reducing time to market is a critical issue. Therefore, web application development process and time to market must be highly accelerated. On the other hand, a lot of redundant works actually occurred in the web application development. This paper presents the solutions for these problems, by proposing an extensible requirements pattern for efficient web application development. By reusing and reconstructing the extensible requirements patterns of web application, we can accelerate time to market and solve redundancy problems in web application development.
This paper proposes an approach for developing web applications by using extensible requirements ... more This paper proposes an approach for developing web applications by using extensible requirements pattern. This work is based on the facts where a lot of redundant works actually occurred in the web application development. Therefore, developing web applications from scratch is a time-consuming work, because actually we can reuse the similar basic requirements to develop web applications. By reusing the extensible requirements patterns where the general characteristic of web application requirements are stored, the redundancy problem of web application development can be solved and the web developer productivity can be increased.
Methodological Support for Object Identification from Formal Requirement Specification
Uploads
Papers by Romi Satria Wahono