The search functionality is under construction.

Keyword Search Result

[Keyword] software engineering(26hit)

1-20hit(26hit)

  • Commit-Based Class-Level Defect Prediction for Python Projects

    Khine Yin MON  Masanari KONDO  Eunjong CHOI  Osamu MIZUNO  

     
    PAPER

      Pubricized:
    2022/11/14
      Vol:
    E106-D No:2
      Page(s):
    157-165

    Defect prediction approaches have been greatly contributing to software quality assurance activities such as code review or unit testing. Just-in-time defect prediction approaches are developed to predict whether a commit is a defect-inducing commit or not. Prior research has shown that commit-level prediction is not enough in terms of effort, and a defective commit may contain both defective and non-defective files. As the defect prediction community is promoting fine-grained granularity prediction approaches, we propose our novel class-level prediction, which is finer-grained than the file-level prediction, based on the files of the commits in this research. We designed our model for Python projects and tested it with ten open-source Python projects. We performed our experiment with two settings: setting with product metrics only and setting with product metrics plus commit information. Our investigation was conducted with three different classifiers and two validation strategies. We found that our model developed by random forest classifier performs the best, and commit information contributes significantly to the product metrics in 10-fold cross-validation. We also created a commit-based file-level prediction for the Python files which do not have the classes. The file-level model also showed a similar condition as the class-level model. However, the results showed a massive deviation in time-series validation for both levels and the challenge of predicting Python classes and files in a realistic scenario.

  • Balanced, Unbalances, and One-Sided Distributed Teams - An Empirical View on Global Software Engineering Education

    Daniel Moritz MARUTSCHKE  Victor V. KRYSSANOV  Patricia BROCKMANN  

     
    PAPER

      Pubricized:
    2021/09/30
      Vol:
    E105-D No:1
      Page(s):
    2-10

    Global software engineering education faces unique challenges to reflect as close as possible real-world distributed team development in various forms. The complex nature of planning, collaborating, and upholding partnerships present administrative difficulties on top of budgetary constrains. These lead to limited opportunities for students to gain international experiences and for researchers to propagate educational and practical insights. This paper presents an empirical view on three different course structures conducted by the same research and educational team over a four-year time span. The courses were managed in Japan and Germany, facing cultural challenges, time-zone differences, language barriers, heterogeneous and homogeneous team structures, amongst others. Three semesters were carried out before and one during the Covid-19 pandemic. Implications for a recent focus on online education for software engineering education and future directions are discussed. As administrational and institutional differences typically do not guarantee the same number of students on all sides, distributed teams can be 1. balanced, where the number of students on one side is less than double the other, 2. unbalanced, where the number of students on one side is significantly larger than double the other, or 3. one-sided, where one side lacks students altogether. An approach for each of these three course structures is presented and discussed. Empirical analyses and reoccurring patterns in global software engineering education are reported. In the most recent three global software engineering classes, students were surveyed at the beginning and the end of the semester. The questionnaires ask students to rank how impactful they perceive factors related to global software development such as cultural aspects, team structure, language, and interaction. Results of the shift in mean perception are compared and discussed for each of the three team structures.

  • Empirical Evaluation of Mimic Software Project Data Sets for Software Effort Estimation

    Maohua GAN  Zeynep YÜCEL  Akito MONDEN  Kentaro SASAKI  

     
    PAPER-Software Engineering

      Pubricized:
    2020/07/03
      Vol:
    E103-D No:10
      Page(s):
    2094-2103

    To conduct empirical research on industry software development, it is necessary to obtain data of real software projects from industry. However, only few such industry data sets are publicly available; and unfortunately, most of them are very old. In addition, most of today's software companies cannot make their data open, because software development involves many stakeholders, and thus, its data confidentiality must be strongly preserved. To that end, this study proposes a method for artificially generating a “mimic” software project data set, whose characteristics (such as average, standard deviation and correlation coefficients) are very similar to a given confidential data set. Instead of using the original (confidential) data set, researchers are expected to use the mimic data set to produce similar results as the original data set. The proposed method uses the Box-Muller transform for generating normally distributed random numbers; and exponential transformation and number reordering for data mimicry. To evaluate the efficacy of the proposed method, effort estimation is considered as potential application domain for employing mimic data. Estimation models are built from 8 reference data sets and their concerning mimic data. Our experiments confirmed that models built from mimic data sets show similar effort estimation performance as the models built from original data sets, which indicate the capability of the proposed method in generating representative samples.

  • Empirical Study on Improvements to Software Engineering Competences Using FLOSS

    Neunghoe KIM  Jongwook JEONG  Mansoo HWANG  

     
    LETTER

      Pubricized:
    2019/09/24
      Vol:
    E102-D No:12
      Page(s):
    2433-2434

    Free/libre open source software (FLOSS) are being rapidly employed in several companies and organizations, because it can be modified and used for free. Hence, the use of FLOSS could contribute to its originally intended benefits and to the competence of its users. In this study, we analyzed the effect of using FLOSS on related competences. We investigated the change in the competences through an empirical study before and after the use of FLOSS among project participants. Consequently, it was confirmed that the competences of the participants improved after utilizing FLOSS.

  • Accurate Library Recommendation Using Combining Collaborative Filtering and Topic Model for Mobile Development

    Xiaoqiong ZHAO  Shanping LI  Huan YU  Ye WANG  Weiwei QIU  

     
    PAPER-Software Engineering

      Pubricized:
    2018/12/18
      Vol:
    E102-D No:3
      Page(s):
    522-536

    Background: The applying of third-party libraries is an integral part of many applications. But the libraries choosing is time-consuming even for experienced developers. The automated recommendation system for libraries recommendation is widely researched to help developers to choose libraries. Aim: from software engineering aspect, our research aims to give developers a reliable recommended list of third-party libraries at the early phase of software development lifecycle to help them build their development environment faster; and from technical aspect, our research aims to build a generalizable recommendation system framework which combines collaborative filtering and topic modeling techniques, in order to improve the performance of libraries recommendation significantly. Our works on this research: 1) we design a hybrid methodology to combine collaborative filtering and LDA text mining technology; 2) we build a recommendation system framework successfully based on the above hybrid methodology; 3) we make a well-designed experiment to validate the methodology and framework which use the data of 1,013 mobile application projects; 4) we do the evaluation for the result of the experiment. Conclusions: 1) hybrid methodology with collaborative filtering and LDA can improve the performance of libraries recommendation significantly; 2) based on the hybrid methodology, the framework works very well on the libraries recommendation for helping developers' libraries choosing. Further research is necessary to improve the performance of the libraries recommendation including: 1) use more accurate NLP technologies improve the correlation analysis; 2) try other similarity calculation methodology for collaborative filtering to rise the accuracy; 3) on this research, we just bring the time-series approach to the framework and make an experiment as comparative trial, the result shows that the performance improves continuously, so in further research we plan to use time-series data-mining as the basic methodology to update the framework.

  • Refactoring Opportunity Identification Methodology for Removing Long Method Smells and Improving Code Analyzability

    Panita MEANANEATRA  Songsakdi RONGVIRIYAPANISH  Taweesup APIWATTANAPONG  

     
    PAPER

      Pubricized:
    2018/04/26
      Vol:
    E101-D No:7
      Page(s):
    1766-1779

    An important step for improving software analyzability is applying refactorings during the maintenance phase to remove bad smells, especially the long method bad smell. Long method bad smell occurs most frequently and is a root cause of other bad smells. However, no research has proposed an approach to repeating refactoring identification, suggestion, and application until all long method bad smells have been removed completely without reducing software analyzability. This paper proposes an effective approach to identifying refactoring opportunities and suggesting an effective refactoring set for complete removal of long method bad smell without reducing code analyzability. This approach, called the long method remover or LMR, uses refactoring enabling conditions based on program analysis and code metrics to identify four refactoring techniques and uses a technique embedded in JDeodorant to identify extract method. For effective refactoring set suggestion, LMR uses two criteria: code analyzability level and the number of statements impacted by the refactorings. LMR also uses side effect analysis to ensure behavior preservation. To evaluate LMR, we apply it to the core package of a real world java application. Our evaluation criteria are 1) the preservation of code functionality, 2) the removal rate of long method characteristics, and 3) the improvement on analyzability. The result showed that the methods that apply suggested refactoring sets can completely remove long method bad smell, still have behavior preservation, and have not decreased analyzability. It is concluded that LMR meets the objectives in almost all classes. We also discussed the issues we found during evaluation as lesson learned.

  • Value-Driven V-Model: From Requirements Analysis to Acceptance Testing

    Youngsub HAN  Dong-hyun LEE  Byoungju CHOI  Mike HINCHEY  Hoh Peter IN  

     
    PAPER-Software Engineering

      Pubricized:
    2016/04/05
      Vol:
    E99-D No:7
      Page(s):
    1776-1785

    The goal of software testing should go beyond simply finding defects. Ultimately, testing should be focused on increasing customer satisfaction. Defects that are detected in areas of the software that the customers are especially interested in can cause more customer dissatisfaction. If these defects accumulate, they can cause the software to be shunned in the marketplace. Therefore, it is important to focus on reducing defects in areas that customers consider valuable. This article proposes a value-driven V-model (V2 model) that deals with customer values and reflects them in the test design for increasing customer satisfaction and raising test efficiency.

  • Customizing GQM Models for Software Project Monitoring

    Akito MONDEN  Tomoko MATSUMURA  Mike BARKER  Koji TORII  Victor R. BASILI  

     
    PAPER

      Vol:
    E95-D No:9
      Page(s):
    2169-2182

    This paper customizes Goal/Question/Metric (GQM) project monitoring models for various projects and organizations to take advantage of the data from the software tool EPM and to allow the tailoring of the interpretation models based upon the context and success criteria for each project and organization. The basic idea is to build less concrete models that do not include explicit baseline values to interpret metrics values. Instead, we add hypothesis and interpretation layers to the models to help people of different projects make decisions in their own context. We applied the models to two industrial projects, and found that our less concrete models could successfully identify typical problems in software projects.

  • On Applicability of Formal Methods and Tools to Dependable Services Open Access

    Fuyuki ISHIKAWA  Shinichi HONIDEN  

     
    INVITED PAPER

      Vol:
    E92-B No:1
      Page(s):
    9-16

    As a variety of digital services are provided through networks, more and more efforts are made to ensure dependability of software behavior implementing services. Formal methods and tools have been considered as promising means to support dependability in complex software systems during the development. On the other hand, there have been serious doubts on practical applicability of formal methods. This paper overviews the present state of formal methods and discusses their applicability, especially focusing on two representative methods (SPIN and B Method) and their recent industrial applications. This paper also discusses applications of formal methods to dependable networked software.

  • Distributed Computing Software Building-Blocks for Ubiquitous Computing Societies

    K.H. (Kane) KIM  

     
    INVITED PAPER

      Vol:
    E91-D No:9
      Page(s):
    2233-2242

    The steady approach of advanced nations toward realization of ubiquitous computing societies has given birth to rapidly growing demands for new-generation distributed computing (DC) applications. Consequently, economic and reliable construction of new-generation DC applications is currently a major issue faced by the software technology research community. What is needed is a new-generation DC software engineering technology which is at least multiple times more effective in constructing new-generation DC applications than the currently practiced technologies are. In particular, this author believes that a new-generation building-block (BB), which is much more advanced than the current-generation DC object that is a small extension of the object model embedded in languages C++, Java, and C#, is needed. Such a BB should enable systematic and economic construction of DC applications that are capable of taking critical actions with 100-microsecond-level or even 10-microsecond-level timing accuracy, fault tolerance, and security enforcement while being easily expandable and taking advantage of all sorts of network connectivity. Some directions considered worth pursuing for finding such BBs are discussed.

  • Web Services-Based Security Requirement Elicitation

    Carlos GUTIERREZ  Eduardo FERNANDEZ-MEDINA  Mario PIATTINI  

     
    PAPER-Software Engineering

      Vol:
    E90-D No:9
      Page(s):
    1374-1387

    Web services (WS, hereafter) paradigm has attained such a relevance in both the academic and the industry world that the vision of the Internet has evolved from being considered as a mere repository of data to become the underlying infrastructure on which organizations' strategic business operations are being deployed [1]. Security is a key aspect if WS are to be generally accepted and adopted. In fact, over the past years, the most important consortiums of the Internet, like IETF, W3C or OASIS, have produced a huge number of WS-based security standards. Despite this spectacular growth, a development process that facilitates the systematic integration of security into all subprocesses of WS-based software development life-cycle does not exist. Eventually, this process should guide WS-based software developers in the specification of WS-based security requirements, the design of WS-based security architectures, and the deployment of the most suitable WS security standards. In this article, we will briefly present a process of this type, named PWSSec (Process for Web Services Security), and the artifacts used during the elicitation activity, which belongs to the subprocess WSSecReq aimed at producing a WS-based security requirement specification.

  • Managing Contradictions in Multi-Agent Systems

    Ruben FUENTES-FERNANDEZ  Jorge J. GOMEZ-SANZ  Juan PAVON  

     
    PAPER-Distributed Cooperation and Agents

      Vol:
    E90-D No:8
      Page(s):
    1243-1250

    The specification of a Multi-Agent System (MAS) involves the identification of a large number of entities and their relationships. This is a non-trivial task that requires managing different views of the system. Many problems concerning this issue originate in the presence of contradictory goals and tasks, inconsistencies, and unexpected behaviours. Such troublesome configurations should be detected and prevented during the development process in order to study alternative ways to cope with them. In this paper, we present methods and tools that support the management of contradictions during the analysis and design of MAS. Contradiction management in MAS has to consider both individual (i.e. agent) and social (i.e. organization) aspects, and their dynamics. Such issues have already been considered in social sciences, and more concretely in the Activity Theory, a social framework for the study of interactions in activity systems. Our approach applies knowledge from Activity Theory in MAS, especially its base of contradiction patterns. That requires a formalization of this social theory in order to be applicable in a software engineering context and its adaptation to agent-oriented methodologies. Then, it will be possible to check the occurrence of contradiction patterns in a MAS specification and provide solutions to those situations. This technique has been validated by implementing an assistant for the INGENIAS Development Kit and has been tested with several case studies. This paper shows part of one of these experiments for a web application.

  • Goal Oriented Requirements Engineering: Trends and Issues

    Shuichiro YAMAMOTO  Haruhiko KAIYA  Karl COX  Steven BLEISTEIN  

     
    INVITED PAPER

      Vol:
    E89-D No:11
      Page(s):
    2701-2711

    Research has been actively proposed into how to specify requirements in the upper stream of software development. For example, the main research issues regarding Structured Analysis and Object Oriented Analysis methodologies include requirements elicitation, modeling, and validation of specifications to give a starting point for software development. At the same time, another area of research has emerged that recognizes the importance of guaranteeing requirements quality by goals. As the impact of IT penetrates to mobile devices, information appliances and automobiles, goal oriented requirements engineering (GORE) approaches for performance and safety in embedded systems have been proposed. Non-Functional Requirements (NFRs) such as business strategy, security and privacy, are now being formalized by Requirements Engineering (RE) technologies, because enterprise business is now heavily influenced by IT, for example in e-Business. As IT is fast becoming ubiquitous in society, the importance of Goal Orientation will increase as socio-technology enables visualization of the role of software in social systems. In this paper, we discuss the current states and trends of GORE from the viewpoints of both academia and industry.

  • Goal-Oriented Methodology for Agent System Development

    Zhiqi SHEN  Chunyan MIAO  Robert GAY  Dongtao LI  

     
    PAPER

      Vol:
    E89-D No:4
      Page(s):
    1413-1420

    The Goal-Orientation is one of the key features in agent systems. This paper proposes a new methodology for multi-agent system development based on Goal Net model. The methodology covers the whole life cycle of the agent system development, from requirement analysis, architecture design, detailed design to implementation. A Multi-Agent Development Environment (MADE) that facilitates the design and implementation of agent systems is presented. A case study on an agent-based e-learning system developed using the proposed methodology is illustrated in this paper.

  • ADPE: Agent-Based Decentralized Process Engine

    Shih-Chien CHOU  

     
    PAPER-Software Engineering

      Vol:
    E88-D No:3
      Page(s):
    603-609

    Process-centered software engineering environments (PSEEs) facilitate controlling complicated software processes. Traditional PSEEs are generally centrally controlled, which may result in the following drawbacks: (1) the server may become a bottleneck and (2) when the server is down, processes need to be suspended. To overcome the drawbacks, we developed a decentralized process engine ADPE (agent-based decentralized process engine). ADPE can be embedded in any PSEE to decentralize the PSEE. This paper presents ADPE.

  • Secure Access of Products in a Process Environment

    Shih-Chien CHOU  Chia-Wei LAI  

     
    PAPER-Software Engineering

      Vol:
    E88-D No:2
      Page(s):
    197-203

    Process-centered software engineering environments (PSEEs) facilitate controlling software processes. Many issues related to PSEEs such as process evolution support have been addressed. We identify an unsolved issue, which is preventing information leakage when the process is being enacted. We developed a model called PsACL for the prevention. This paper proposes PsACL, which offers the following features: (a) controlling both read and write access of software products, (b) preventing indirect information leakage, (c) managing role associations, (d) managing role hierarchies, (e) enforcing static and simple dynamic separation-of-duty constraints, (f) allowing declassification of products, and (g) allowing access control information exchange among software processes.

  • Using Product Status to Coordinate Heterogeneous Process Environments

    Shih-Chien CHOU  

     
    PAPER-Software Engineering

      Vol:
    E86-D No:1
      Page(s):
    56-62

    This paper presents a model called PECM (process environment coordination model) to coordinate heterogeneous PSEEs. A PSEE coordinated by PECM is associated with a standard-interfaced PECM coordinator, which provides primitive coordination functions. PECM uses shared product status to coordinate PSEEs. It is expected to offer several features. First, multiple PSEEs can be used in the same project. Second, PECM manages products and product relationships across PSEEs. Third, PECM coordinator is standard- interfaced, which is easy to use.

  • Group Organization System for Software Engineering Group Learning with Genetic Algorithm

    Atsuo HAZEYAMA  Naota SAWABE  Seiichi KOMIYA  

     
    PAPER-Experiment

      Vol:
    E85-D No:4
      Page(s):
    666-673

    The group organization used for group learning in a knowledge intensive domain like software development affects educational achievement. This paper proposes a group organization system for software engineering education done through group learning. The organizational problem itself is defined and why a Genetic Algorithm (GA) is an appropriate means of solving this problem is explained. This system is a Web application developed with open source software and runs on an open source software platform. Based on the group organization data collected from actual classes, we generated various group organizations by using different strategy parameter values. We then gave a questionnaire to actual students asking them which solution produced the fairest group organization. The replies received revealed that the candidate solution that set greater weight on leadership capability and system analysis capability was the fairest.

  • Software Creation: Clich as Intermediate Knowledge in Software Design

    Hassan ABOLHASSANI  Hui CHEN  Zenya KOONO  

     
    PAPER-Software Engineering

      Vol:
    E85-D No:1
      Page(s):
    221-232

    This paper reports on clich and related mechanisms appearing in a process of human design of software. During studies on human design knowledge, the authors found frequent instance of same pattern of detailing, named clich. In our study, clich is an intermediate level of design knowledge, during a hierarchical detailing step, residing in between simple reuse and creation by micro design rules, which have already been reported. These three kinds of design knowledge are of various types and have different complexities. Discussions on them, focusing on clich type, with procedures of formation of a simple clich skeleton and generation of a clich are given. The studies show a working model of Zipf's principle, and are some trials to reveal a more detail of human designs.

  • Composing Collaborative Component Systems Using Colored Petri Nets

    Yoshiyuki SHINKAWA  Masao J. MATSUMOTO  

     
    PAPER

      Vol:
    E84-A No:5
      Page(s):
    1209-1217

    Adaptation of software components to the requirements is one of the key concerns in Component Based Software Development (CBSD). In this paper, we propose a formal approach to compose component based systems which are adaptable to the requirements. We focus on the functional aspects of software components and requirements, which are expressed in S-sorted functions. Those S-sorted functions are transformed into Colored Petri Nets (CPN) models in order to evaluate connectivity between the components, and to evaluate adaptability of composed systems to the requirements. The connectivity is measured based on colors or data types in CPN, while the adaptability is measured based on functional equivalency. We introduce simple glue codes to connect the components each other. The paper focuses on business applications, however the proposed approach can be applied to any other domains as far as the functional adaptability is concerned.

1-20hit(26hit)