The search functionality is under construction.
The search functionality is under construction.

Keyword Search Result

[Keyword] software(508hit)

141-160hit(508hit)

  • Predicting Vectorization Profitability Using Binary Classification

    Antoine TROUVÉ  Arnaldo J. CRUZ  Dhouha BEN BRAHIM  Hiroki FUKUYAMA  Kazuaki J. MURAKAMI  Hadrien CLARKE  Masaki ARAI  Tadashi NAKAHIRA  Eiji YAMANAKA  

     
    PAPER-Software System

      Pubricized:
    2014/08/27
      Vol:
    E97-D No:12
      Page(s):
    3124-3132

    Basic block vectorization consists in realizing instruction-level parallelism inside basic blocks in order to generate SIMD instructions and thus speedup data processing. It is however problematic, because the vectorized program may actually be slower than the original one. Therefore, it would be useful to predict beforehand whether or not vectorization will actually produce any speedup. This paper proposes to do so by expressing vectorization profitability as a classification problem, and by predicting it using a machine learning technique called support vector machine (SVM). It considers three compilers (icc, gcc and llvm), and a benchmark suite made of 151 loops, unrolled with factors ranging from 1 to 20. The paper further proposes a technique that combines the results of two SVMs to reach 99% of accuracy for all three compilers. Moreover, by correctly predicting unprofitable vectorizations, the technique presented in this paper provides speedups of up to 2.16 times, 2.47 times and 3.83 times for icc, gcc and LLVM, respectively (9%, 18% and 56% on average). It also lowers to less than 1% the probability of the compiler generating a slower program with vectorization turned on (from more than 25% for the compilers alone).

  • TagFlow: Efficient Flow Classification in SDN

    Hamid FARHADY  Akihiro NAKAO  

     
    PAPER

      Vol:
    E97-B No:11
      Page(s):
    2302-2310

    We propose TagFlow, a data plane mechanism for classification in Software-Defined Networking (SDN). We first argue that simple field-matching proposals of current SDN APIs are not efficient and flexible enough and then propose a tag based classification mechanism as an alternative. Moreover, we propose user-defined actions as an improvement over current hardcoded actions in SDN APIs. Our experiments show TagFlow forwarding is almost 40% faster than OpenFlow. Furthermore, our user-defined actions at SDN southbound are thousands of times faster that equivalent northbound implementations in the literature.

  • Evaluation of Agile Software Develeopment Method for Carrier Cloud Service Platform Development

    Yoji YAMATO  Naoko SHIGEMATSU  Norihiro MIURA  

     
    LETTER-Software Engineering

      Pubricized:
    2014/08/19
      Vol:
    E97-D No:11
      Page(s):
    2959-2962

    In this paper, we evaluate a method of agile software development for carrier Cloud service platform development. It is generally said that agile software development is suitable for small-scale development, but we adopt it for the development which has more than 30 members. We attempted to enable automatic regression tests for each iteration when we adopted agile software development, so that we could start our Cloud service sufficiently fast. We compared and evaluated software reliability growth curves, regression test efforts and bug causes with waterfall development.

  • Ouroboros: Protocol Independent Forwarding for SDN

    Liang LI  Hamid FARHADY  Ping DU  Akihiro NAKAO  

     
    PAPER

      Vol:
    E97-B No:11
      Page(s):
    2278-2285

    In most cases, the programmability of Software Defined Network (SDN) refers to the flexibility existing in northbound interface that enables network managers to control the behaviors of the networks. However, the lack of flexibility in data plane conversely results in wasting potentially usable information for controlling flows, especially from network services and applications point of view. For example, OpenFlow switches only deal with L2-L4 headers and ignore the other parts of packet. We propose Ouroboros as a programmable switch logic to increase the flexibility of SDN southbound interface. Ouroboros switches not only remove the limitation of regular OpenFlow switches using packet headers as the reference for packet switching, but also provides a highly flexible interface for network managers to conduct application-specific flow control according to packet content at any arbitrary offsets. Ouroboros can penetrate deeply into packet (e.g., RTP or SIP) protocol headers, or further into packet payload, to process user-defined switching protocol. Our evaluations of Ouroboros on 10Gbps traffic indicates the effectiveness of proposed method.

  • Design and Implementation of Network Virtualization Management System

    Yohei KATAYAMA  Takehito YAMAMOTO  Yukio TSUKISHIMA  Kazuhisa YAMADA  Noriyuki TAKAHASHI  Atsushi TAKAHARA  Akihiro NAKAO  

     
    PAPER

      Vol:
    E97-B No:11
      Page(s):
    2286-2301

    Due to the recent network service market trends, network infrastructure providers must make their network infrastructures tolerant of network service complexity and swift at providing new network services. To achieve this, we first make a design decision for the single domain network infrastructure in which we use network virtualization and separate the network service control and management from the network infrastructure and leave the resource connectivity control and management in the network infrastructure so that the infrastructure can maintain simplicity and the network service can become complex and be quickly provided. Along with the decision, we construct an architecture of the network infrastructure and a network management model. The management model defines a slice as being determined by abstracted resource requirements and restructures the roles and planes from the viewpoint of network infrastructure usability so that network service requesters can manage network resources freely and swiftly in an abstract manner within the authorities the network infrastructure operator provides. We give the details of our design and implementation for a network virtualization management system along with the model. We deployed and evaluated our designed and implemented management system on the Japan national R&E testbed (JGN-X) to confirm the feasibility of our management system design and discuss room for improvement in terms of response time and scalability towards practical use. We also investigated certain cases of sophisticated network functions to confirm that the infrastructure can accept these functions without having to be modified.

  • Network Virtualization Idealizations for Applications Open Access

    Glenn RICART  Akihiro NAKAO  

     
    INVITED PAPER

      Vol:
    E97-B No:11
      Page(s):
    2252-2258

    Due to limitations of today's widely-deployed commercial networks, some end-user applications are only possible through, or greatly improved by execution on virtualized networks that have been enhanced or idealized in a way which specifically supports the application. This paper describes US Ignite and the advantages provided to US Ignite end-user applications running on virtual networks which variously: (a) minimize latency, (b) minimize jitter, (c) minimize or eliminate packet drops, (d) optimize branch points for multicast packet duplication, (e) provide isolation for sensitive information flows, and/or (f) bundle network billing with application use. Examples of US Ignite applications in these categories are provided.

  • A Two Stage Algorithm for Carrier Frequency Offset Recovery with DSP Implementation on SDR Platform

    Muhammad ZEESHAN  Shoab KHAN  Ibtasam HAQ  

     
    PAPER-Wireless Communication Technologies

      Vol:
    E97-B No:11
      Page(s):
    2449-2458

    In this paper, we propose a novel Carrier Frequency Offset (CFO) estimation and compensation algorithm applicable to Software Defined Radio (SDR). A two stage estimation algorithm has been proposed as a concatenation of two algorithms namely Modified Maximum Likelihood Data Aided (MMLDA) coarse frequency estimation and sample by sample residual CFO estimation. The second stage tracks the residual offset on sample by sample basis for the whole burst without using preamble. Simulation results are given for Stanford University Interim (SUI) channels to demonstrate the effectiveness of the proposed algorithm in multipath fading channel. The proposed algorithm shows better performance than the conventional two stage algorithms, even for large frequency offsets. The proposed algorithm has been implemented in software on TMS320C64x+ Digital Signal Processor (DSP) core and verified by comparing with simulation results.

  • A VMM-Level Approach to Shortening Downtime of Operating Systems Reboots in Software Updates

    Hiroshi YAMADA  Kenji KONO  

     
    PAPER-Software System

      Vol:
    E97-D No:10
      Page(s):
    2663-2675

    Operating system (OS) reboots are an essential part of updating kernels and applications on laptops and desktop PCs. Long downtime during OS reboots severely disrupts users' computational activities. This long disruption discourages the users from conducting OS reboots, failing to enforce them to conduct software updates. Although the dynamic updatable techniques have been widely studied, making the system “reboot-free” is still difficult due to their several limitations. As a result, users cannot benefit from new functionality or better performance, and even worse, unfixed vulnerabilities can be exploited by attackers. This paper presents ShadowReboot, a virtual machine monitor (VMM)-based approach that shortens downtime of OS reboots in software updates. ShadowReboot conceals OS reboot activities from user's applications by spawning a VM dedicated to an OS reboot and systematically producing the rebooted state where the updated kernel and applications are ready for use. ShadowReboot provides an illusion to the users that the guest OS travels forward in time to the rebooted state. ShadowReboot offers the following advantages. It can be used to apply patches to the kernels and even system configuration updates. Next, it does not require any special patch requiring detailed knowledge about the target kernels. Lastly, it does not require any target kernel modification. We implemented a prototype in VirtualBox 4.0.10 OSE. Our experimental results show that ShadowReboot successfully updated software on unmodified commodity OS kernels and shortened the downtime of commodity OS reboots on five Linux distributions (Fedora, Ubuntu, Gentoo, Cent, and SUSE) by 91 to 98%.

  • Hierarchical Categorization of Open Source Software by Online Profiles

    Tao WANG  Huaimin WANG  Gang YIN  Cheng YANG  Xiang LI  Peng ZOU  

     
    PAPER-Software Engineering

      Vol:
    E97-D No:9
      Page(s):
    2386-2397

    The large amounts of freely available open source software over the Internet are fundamentally changing the traditional paradigms of software development. Efficient categorization of the massive projects for retrieving relevant software is of vital importance for Internet-based software development such as solution searching, best practices learning and so on. Many previous works have been conducted on software categorization by mining source code or byte code, but were verified on only relatively small collections of projects with coarse-grained categories or clusters. However, Internet-based software development requires finer-grained, more scalable and language-independent categorization approaches. In this paper, we propose a novel approach to hierarchically categorize software projects based on their online profiles. We design a SVM-based categorization framework and adopt a weighted combination strategy to aggregate different types of profile attributes from multiple repositories. Different basic classification algorithms and feature selection techniques are employed and compared. Extensive experiments are carried out on more than 21,000 projects across five repositories. The results show that our approach achieves significant improvements by using weighted combination. Compared to the previous work, our approach presents competitive results with more finer-grained and multi-layered category hierarchy with more than 120 categories. Unlike approaches that use source code or byte code, our approach is more effective for large-scale and language-independent software categorization. In addition, experiments suggest that hierarchical categorization combined with general keyword-based searching improves the retrieval efficiency and accuracy.

  • A Novel Technique for Duplicate Detection and Classification of Bug Reports

    Tao ZHANG  Byungjeong LEE  

     
    PAPER-Software Engineering

      Vol:
    E97-D No:7
      Page(s):
    1756-1768

    Software products are increasingly complex, so it is becoming more difficult to find and correct bugs in large programs. Software developers rely on bug reports to fix bugs; thus, bug-tracking tools have been introduced to allow developers to upload, manage, and comment on bug reports to guide corrective software maintenance. However, the very high frequency of duplicate bug reports means that the triagers who help software developers in eliminating bugs must allocate large amounts of time and effort to the identification and analysis of these bug reports. In addition, classifying bug reports can help triagers arrange bugs in categories for the fixers who have more experience for resolving historical bugs in the same category. Unfortunately, due to a large number of submitted bug reports every day, the manual classification for these bug reports increases the triagers' workload. To resolve these problems, in this study, we develop a novel technique for automatic duplicate detection and classification of bug reports, which reduces the time and effort consumed by triagers for bug fixing. Our novel technique uses a support vector machine to check whether a new bug report is a duplicate. The concept profile is also used to classify the bug reports into related categories in a taxonomic tree. Finally, we conduct experiments that demonstrate the feasibility of our proposed approach using bug reports extracted from the large-scale open source project Mozilla.

  • Software Defined Flexible Optical Access Networks Enabling Throughput Optimization and OFDM-Based Dynamic Service Provisioning for Future Mobile Backhaul Open Access

    Akihiro TANAKA  Neda CVIJETIC  

     
    INVITED PAPER

      Vol:
    E97-B No:7
      Page(s):
    1244-1251

    In this invited paper, software defined network (SDN)-based approaches for future cost-effective optical mobile backhaul (MBH) networks are discussed, focusing on key principles, throughput optimization and dynamic service provisioning as its use cases. We propose a novel physical-layer aware throughput optimization algorithm that confirms > 100Mb/s end-to-end per-cell throughputs with ≥2.5Gb/s optical links deployed at legacy cell sites. We also demonstrate the first optical line terminal (OLT)-side optical Nyquist filtering of legacy 10G on-off-keying (OOK) signals, enabling dynamic >10Gb/s Orthogonal Frequency Domain Multiple Access (OFDMA) λ-overlays for MBH over passive optical network (PON) with 40-km transmission distances and 1:128 splitting ratios, without any ONU-side equipment upgrades. The software defined flexible optical access network architecture described in this paper is thus highly promising for future MBH networks.

  • An Empirical Study of Bugs in Software Build System

    Xin XIA  Xiaozhen ZHOU  David LO  Xiaoqiong ZHAO  Ye WANG  

     
    PAPER-Software Engineering

      Vol:
    E97-D No:7
      Page(s):
    1769-1780

    A build system converts source code, libraries and other data into executable programs by orchestrating the execution of compilers and other tools. The whole building process is managed by a software build system, such as Make, Ant, CMake, Maven, Scons, and QMake. Many studies have investigated bugs and fixes in several systems, but to our best knowledge, none focused on bugs in build systems. One significant feature of software build systems is that they should work on various platforms, i.e., various operating systems (e.g., Windows, Linux), various development environments (e.g., Eclipse, Visual Studio), and various programming languages (e.g., C, C++, Java, C#), so the study of software build systems deserves special consideration. In this paper, we perform an empirical study on bugs in software build systems. We analyze four software build systems, Ant, Maven, CMake and QMake, which are four typical and widely-used software build systems, and can be used to build Java, C, C++ systems. We investigate their bug database and code repositories, randomly sample a set of bug reports and their fixes (800 bugs reports totally, and 199, 250, 200, and 151 bug reports for Ant, Maven, CMake and QMake, respectively), and manually assign them into various categories. We find that 21.35% of the bugs belong to the external interface category, 18.23% of the bugs belong to the logic category, and 12.86% of the bugs belong to the configuration category. We also investigate the relationship between bug categories and bug severities, bug fixing time, and number of bug comments.

  • Interval Estimation Method for Decision Making in Wavelet-Based Software Reliability Assessment

    Xiao XIAO  Tadashi DOHI  

     
    PAPER

      Vol:
    E97-D No:5
      Page(s):
    1058-1068

    Recently, the wavelet-based estimation method has gradually been becoming popular as a new tool for software reliability assessment. The wavelet transform possesses both spatial and temporal resolution which makes the wavelet-based estimation method powerful in extracting necessary information from observed software fault data, in global and local points of view at the same time. This enables us to estimate the software reliability measures in higher accuracy. However, in the existing works, only the point estimation of the wavelet-based approach was focused, where the underlying stochastic process to describe the software-fault detection phenomena was modeled by a non-homogeneous Poisson process. In this paper, we propose an interval estimation method for the wavelet-based approach, aiming at taking account of uncertainty which was left out of consideration in point estimation. More specifically, we employ the simulation-based bootstrap method, and derive the confidence intervals of software reliability measures such as the software intensity function and the expected cumulative number of software faults. To this end, we extend the well-known thinning algorithm for the purpose of generating multiple sample data from one set of software-fault count data. The results of numerical analysis with real software fault data make it clear that, our proposal is a decision support method which enables the practitioners to do flexible decision making in software development project management.

  • An Investigation into the Characteristics of Merged Code Clones during Software Evolution

    Eunjong CHOI  Norihiro YOSHIDA  Katsuro INOUE  

     
    PAPER-Software Engineering

      Vol:
    E97-D No:5
      Page(s):
    1244-1253

    Although code clones (i.e. code fragments that have similar or identical code fragments in the source code) are regarded as a factor that increases the complexity of software maintenance, tools for supporting clone refactoring (i.e. merging a set of code clones into a single method or function) are not commonly used. To promote the development of refactoring tools that can be more widely utilized, we present an investigation of clone refactoring carried out in the development of open source software systems. In the investigation, we identified the most frequently used refactoring patterns and discovered how merged code clone token sequences and differences in token sequence lengths vary for each refactoring pattern.

  • Test Scenario Generation for Web Application Based on Past Test Artifacts

    Rogene LACANIENTA  Shingo TAKADA  Haruto TANNO  Morihide OINUMA  

     
    PAPER

      Vol:
    E97-D No:5
      Page(s):
    1109-1118

    For the past couple of decades, the usage of the Web as a platform for deploying software products has become incredibly popular. Web applications became more prevalent, as well as more complex. Countless Web applications have already been designed, developed, tested, and deployed on the Internet. However, it is noticeable that many common functionalities are present among these vast number of applications. This paper proposes an approach based on a database containing information from previous test artifacts. The information is used to generate test scenarios for Web applications under test. We have developed a tool based on our proposed approach, with the aim of reducing the effort required from software test engineers and professionals during the test planning and creation stage of software engineering. We evaluated our approach from three viewpoints: comparison between our approach and manual generation, qualitative evaluation by professional software engineers, and comparison between our approach and two open-source tools.

  • Mining API Usage Patterns by Applying Method Categorization to Improve Code Completion

    Rizky Januar AKBAR  Takayuki OMORI  Katsuhisa MARUYAMA  

     
    PAPER

      Vol:
    E97-D No:5
      Page(s):
    1069-1083

    Developers often face difficulties while using APIs. API usage patterns can aid them in using APIs efficiently, which are extracted from source code stored in software repositories. Previous approaches have mined repositories to extract API usage patterns by simply applying data mining techniques to the collection of method invocations of API objects. In these approaches, respective functional roles of invoked methods within API objects are ignored. The functional role represents what type of purpose each method actually achieves, and a method has a specific predefined order of invocation in accordance with its role. Therefore, the simple application of conventional mining techniques fails to produce API usage patterns that are helpful for code completion. This paper proposes an improved approach that extracts API usage patterns at a higher abstraction level rather than directly mining the actual method invocations. It embraces a multilevel sequential mining technique and uses categorization of method invocations based on their functional roles. We have implemented a mining tool and an extended Eclipse's code completion facility with extracted API usage patterns. Evaluation results of this tool show that our approach improves existing code completion.

  • Motivation Process Formalization and Its Application to Education Improvement for the Personal Software Process Course

    Masanobu UMEDA  Keiichi KATAMINE  Keiichi ISHIBASHI  Masaaki HASHIMOTO  Takaichi YOSHIDA  

     
    PAPER

      Vol:
    E97-D No:5
      Page(s):
    1127-1138

    Software engineering education at universities plays an increasingly important role as software quality is becoming essential in realizing a safe and dependable society. This paper proposes a practical state transition model (Practical-STM) based on the Organizational Expectancy Model for the improvement of software process education based on the Personal Software Process (PSP) from a motivation point of view. The Practical-STM treats an individual trainee of the PSP course as a state machine, and formalizes a motivation process of a trainee using a set of states represented by factors regarding motivation and a set of operations carried out by course instructors. The state transition function of this model represents the features or characteristics of a trainee in terms of motivation. The model allows a formal description of the states of a trainee in terms of motivation and the educational actions of the instructors in the PSP course. The instructors are able to decide effective and efficient actions to take toward the trainees objectively by presuming a state and a state transition function of the trainees formally. Typical patterns of state transitions from an initial state to a final state, which is called a scenario, are useful for inferring possible transitions of a trainee and taking proactive operations from a motivation point of view. Therefore, the model is useful not only for improving the educational effect of the PSP course, but also for the standardization of the course management and the quality management of the instructors.

  • A Framework to Integrate Public Information into Runtime Safety Analysis for Critical Systems

    Guoqi LI  

     
    LETTER-Dependable Computing

      Vol:
    E97-D No:4
      Page(s):
    981-983

    The large and complicated safety-critical systems today need to keep changing to accommodate ever-changing objectives and environments. Accordingly, runtime analysis for safe reconfiguration or evaluation is currently a hot topic in the field, whereas information acquisition of external environment is crucial for runtime safety analysis. With the rapid development of web services, mobile networks and ubiquitous computing, abundant realtime information of environment is available on the Internet. To integrate these public information into runtime safety analysis of critical systems, this paper brings forward a framework, which could be implemented with open source and cross platform modules and encouragingly, applicable to various safety-critical systems.

  • Efficient Update Activation for Virtual Machines in IaaS Cloud Computing Environments

    Hiroshi YAMADA  Shuntaro TONOSAKI  Kenji KONO  

     
    PAPER-Software System

      Vol:
    E97-D No:3
      Page(s):
    469-479

    Infrastructure as a Service (IaaS), a form of cloud computing, is gaining attention for its ability to enable efficient server administration in dynamic workload environments. In such environments, however, updating the software stack or content files of virtual machines (VMs) is a time-consuming task, discouraging administrators from frequently enhancing their services and fixing security holes. This is because the administrator has to upload the whole new disk image to the cloud platform via the Internet, which is not yet fast enough that large amounts of data can be transferred smoothly. Although the administrator can apply incremental updates directly to the running VMs, he or she has to carefully consider the type of update and perform operations on all running VMs, such as application restarts. This is a tedious and error-prone task. This paper presents a technique for synchronizing VMs with less time and lower administrative burden. We introduce the Virtual Disk Image Repository, which runs on the cloud platform and automatically updates the virtual disk image and the running VMs with only the incremental update information. We also show a mechanism that performs necessary operations on the running VM such as restarting server processes, based on the types of files that are updated. We implement a prototype on Linux 2.6.31.14 and Amazon Elastic Compute Cloud. An experiment shows that our technique can synchronize VMs in an order-of-magnitude shorter time than the conventional disk-image-based VM method. Also, we discuss limitations of our technique and some directions for more efficient VM updates.

  • Research on Software Trust Analysis Based on Behavior

    Yingxu LAI  Wenwen ZHANG  Zhen YANG  

     
    PAPER-Software Engineering

      Vol:
    E97-D No:3
      Page(s):
    488-496

    In this paper, we propose a new trusted modeling approach based on state graphs. We introduce a novel method of deriving state-layer from a system call sequence in terms of probability and statistics theory, and we identify the state sequence with the help of Hidden Markov Model (HMM). We generate state transition graph according to software executing process and pruning rules. Then, we separate local function graphs according to software specific functions by semantic analysis. The state-layer is a bridge between the basic behaviors and the upper layer functions of software to compensate semantic faults. In addition, a pruning strategy of formulating state graphs is designed to precisely describe each piece of software functions. Finally, a detecting system based on our model is proposed, and a case study of RSS software reveals how our system works. The results demonstrate that our trusted model describes software behaviors successfully and can well detect un-trust behaviors, anomaly behaviors, and illegal input behaviors.

141-160hit(508hit)