5,622,735 research outputs found

    Machine Learning for Software Engineering: Models, Methods, and Applications

    Get PDF
    Machine Learning (ML) is the discipline that studies methods for automatically inferring models from data. Machine learning has been successfully applied in many areas of software engineering ranging from behaviour extraction, to testing, to bug fixing. Many more applications are yet be defined. However, a better understanding of ML methods, their assumptions and guarantees would help software engineers adopt and identify the appropriate methods for their desired applications. We argue that this choice can be guided by the models one seeks to infer. In this technical briefing, we review and reflect on the applications of ML for software engineering organised according to the models they produce and the methods they use. We introduce the principles of ML, give an overview of some key methods, and present examples of areas of software engineering benefiting from ML. We also discuss the open challenges for reaching the full potential of ML for software engineering and how ML can benefit from software engineering methods

    A flexible software architecture concept for the creation of accessible PDF documents

    Get PDF
    This paper presents a flexible software architecture concept that allows the automatic generation of fully accessible PDF documents originating from various authoring tools such as Adobe InDesign or Microsoft Word. The architecture can be extended to include any authoring tools capable of creating PDF documents. For each authoring tool, a software accessibility plug-in must be implemented which analyzes the logical structure of the document and creates an XML representation of it. This XML file is used in combination with an untagged non-accessible PDF to create an accessible PDF version of the document. The implemented accessibility plug-in prototype allows authors of documents to check for accessibility issues while creating their documents and add the additional semantic information needed to generate a fully accessible PDF document

    Software Measurement Activities in Small and Medium Enterprises: an Empirical Assessment

    Get PDF
    An empirical study for evaluating the proper implementation of measurement/metric programs in software companies in one area of Turkey is presented. The research questions are discussed and validated with the help of senior software managers (more than 15 years’ experience) and then used for interviewing a variety of medium and small scale software companies in Ankara. Observations show that there is a common reluctance/lack of interest in utilizing measurements/metrics despite the fact that they are well known in the industry. A side product of this research is that internationally recognized standards such as ISO and CMMI are pursued if they are a part of project/job requirements; without these requirements, introducing those standards to the companies remains as a long-term target to increase quality

    Development of a Computer Vision-Based Three-Dimensional Reconstruction Method for Volume-Change Measurement of Unsaturated Soils during Triaxial Testing

    Get PDF
    Problems associated with unsaturated soils are ubiquitous in the U.S., where expansive and collapsible soils are some of the most widely distributed and costly geologic hazards. Solving these widespread geohazards requires a fundamental understanding of the constitutive behavior of unsaturated soils. In the past six decades, the suction-controlled triaxial test has been established as a standard approach to characterizing constitutive behavior for unsaturated soils. However, this type of test requires costly test equipment and time-consuming testing processes. To overcome these limitations, a photogrammetry-based method has been developed recently to measure the global and localized volume-changes of unsaturated soils during triaxial test. However, this method relies on software to detect coded targets, which often requires tedious manual correction of incorrectly coded target detection information. To address the limitation of the photogrammetry-based method, this study developed a photogrammetric computer vision-based approach for automatic target recognition and 3D reconstruction for volume-changes measurement of unsaturated soils in triaxial tests. Deep learning method was used to improve the accuracy and efficiency of coded target recognition. A photogrammetric computer vision method and ray tracing technique were then developed and validated to reconstruct the three-dimensional models of soil specimen

    Software prefetching for software pipelined loops

    Get PDF
    The paper investigates the interaction between software pipelining and different software prefetching techniques for VLIW machines. It is shown that processor stalls due to memory dependencies have a great impact into execution time. A novel heuristic is proposed and it is show to outperform previous proposals.Peer ReviewedPostprint (published version

    Automated software quality visualisation using fuzzy logic techniques

    Get PDF
    In the past decade there has been a concerted effort by the software industry to improve the quality of its products. This has led to the inception of various techniques with which to control and measure the process involved in software development. Methods like the Capability Maturity Model have introduced processes and strategies that require measurement in the form of software metrics. With the ever increasing number of software metrics being introduced by capability based processes, software development organisations are finding it more difficult to understand and interpret metric scores. This is particularly problematic for senior management and project managers where analysis of the actual data is not feasible. This paper proposes a method with which to visually represent metric scores so that managers can easily see how their organisation is performing relative to quality goals set for each type of metric. Acting primarily as a proof of concept and prototype, we suggest ways in which real customer needs can be translated into a feasible technical solution. The solution itself visualises metric scores in the form of a tree structure and utilises Fuzzy Logic techniques, XGMML, Web Services and the .NET Framework. Future work is proposed to extend the system from the prototype stage and to overcome a problem with the masking of poor scores

    Set-Based Concurrent Engineering Model for Automotive Electronic/Software Systems Development

    Get PDF
    Organised by: Cranfield UniversityThis paper is presenting a proposal of a novel approach to automotive electronic/software systems development. It is based on the combination of Set-Based Concurrent Engineering, a Toyota approach to product development, with the standard V-Model of software development. Automotive industry currently faces the problem of growing complexity of electronic/software systems. This issue is especially visible at the level of integration of these systems which is difficult and error-prone. The presented conceptual proposal is to establish better processes that could handle the electronic/software systems design and development in a more integrated and consistent manner.Mori Seiki – The Machine Tool Compan

    The GRAVITY instrument software / High-level software

    Full text link
    GRAVITY is the four-beam, near- infrared, AO-assisted, fringe tracking, astrometric and imaging instrument for the Very Large Telescope Interferometer (VLTI). It is requiring the development of one of the most complex instrument software systems ever built for an ESO instrument. Apart from its many interfaces and interdependencies, one of the most challenging aspects is the overall performance and stability of this complex system. The three infrared detectors and the fast reflective memory network (RMN) recorder contribute a total data rate of up to 20 MiB/s accumulating to a maximum of 250 GiB of data per night. The detectors, the two instrument Local Control Units (LCUs) as well as the five LCUs running applications under TAC (Tools for Advanced Control) architecture, are interconnected with fast Ethernet, RMN fibers and dedicated fiber connections as well as signals for the time synchronization. Here we give a simplified overview of all subsystems of GRAVITY and their interfaces and discuss two examples of high-level applications during observations: the acquisition procedure and the gathering and merging of data to the final FITS file.Comment: 8 pages, 7 figures, published in Proc. SPIE 9146, Optical and Infrared Interferometry IV, 91462

    A software service supporting software quality forecasting

    Get PDF
    Software repositories such as source control, defect tracking systems and project management tools, are used to support the progress of software projects. The exploitation of such data with techniques like forecasting is becoming an increasing need in several domains to support decision-making processes. However, although there exist several statistical tools and languages supporting forecasting, there is a lack of friendly approaches that enable practitioners to exploit the advantages of creating and using such models in their dashboard tools. Therefore, we have developed a modular and flexible forecasting service allowing the interconnection with different kinds of databases/data repositories for creating and exploiting forecasting models based on methods like ARIMA or ETS. The service is open source software, has been developed in Java and R and exposes its functionalities through a REST API. Architecture details are provided, along with functionalities’ description and an example of its use for software quality forecasting.Peer ReviewedPostprint (author's final draft

    Software Agents

    No full text
    being used, and touted, for applications as diverse as personalised information management, electronic commerce, interface design, computer games, and management of complex commercial and industrial processes. Despite this proliferation, there is, as yet, no commonly agreed upon definition of exactly what an agent is — Smith et al. (1994) define it as “a persistent software entity dedicated to a specific purpose”; Selker (1994) takes agents to be “computer programs that simulate a human relationship by doing something that another person could do for you”; and Janca (1995) defines an agent as “a software entity to which tasks can be delegated”. To capture this variety, a relatively loose notion of an agent as a self-contained program capable of controlling its own decision making and acting, based on its perception of its environment, in pursuit of one or more objectives will be used here. Within the extant applications, three distinct classes of agent can be identified. At the simplest level, there are “gopher ” agents, which execute straightforward tasks based on pre-specified rules and assumptions (eg inform me when the share price deviates by 10 % from its mean position or tell me when I need to reorder stock items). The next level of sophistication involves “service performing” agents, which execute a well defined task at the request of a user (eg find me the cheapest flight to Paris or arrange a meeting with the managing director some day next week). Finally, there are “predictive ” agents, which volunteer information or services to a user, without being explicitly asked, whenever it is deemed appropriate (eg an agent may monitor newsgroups on the INTERNET and return discussions that it believes to be of interest to the user or a holiday agent may inform its user that a travel firm is offering large discounts on holidays to South Africa knowing that the user is interested in safaris). Common to all these classes are the following key hallmarks of agenthoo