313,415 research outputs found

    An investigation into the impact of decision support systems on strategic marketing planning practice

    Get PDF
    Relatively few companies gain the benefits from marketing planning claimed by prescriptive literature. This results from cognitive, procedural, resource, organisational, cultural and data availability barriers to effective planning. Research in other domains suggests that decision support systems (DSS) could assist in reducing some of these barriers. The research aim was therefore to examine whether and how DSS could be used to improve strategic marketing planning practice. The research method incorporated: iterative development of a DSS named EXN4AR a formative evaluation of the prototype system using a survey and a multiple-case study; and a further multiple-case study of users of other, related systems to explore the extent to which the results from the EXMAR evaluation could be generalised. The study confirms that software can play a valuable role in reducing some of the barriers to effective planning. Systems can assist with the effective application of analytical marketing tools through automated calculations, graphical display and on-line guidance, thus reducing the technical marketing knowledge required. Support for fast iteration allows these tools to be used to facilitate group strategy debates. Endeavours to move planning out of the hands of specialists and into cross-functional teams can be further aided by cross-functional analyses and by automated assistance with managing the complexity of multiple-level plans. The electronic format can support moves towards continuous planning based on a live marketing model of the business, helping the organisation to respond to internal or external changes without the constraints of the annual planning cycle. Other barriers such as cultural problems must, however, be reduced by other means. Various factors contributing to success in system implementation are identified, including top management support, sufficiently wide planning team definition, appropriate definition of planning units, sufficiently flexible planning procedures, ease of use, and a system that is seen as empowering rather than controlling

    Comparing the effectiveness of automated test generation tools "EVOSUITE"� and "Tpalus"�

    Get PDF
    University of Minnesota M.S. thesis. July 2015. Major: Computer Science. Advisor: Andrew Brooks. 1 computer file (PDF); vii, 71 pages.Automated testing has been evolving over the years and the main reason behind the growth of these tools is to reduce the manual effort in checking the correctness of any software. Writing test cases to check the correctness of software is very time consuming and requires a great deal of patience. A lot of time and effort used on writing manual test cases can be saved and in turn we can focus on improving the performance of the application. Statistics show that 50% of the total cost of software development is devoted to software testing, even more in the case of critical software. The growth of these automated test generation tools lead us to a big question of "How effective are these tools in checking the correctness of the application?"� There are several challenges associated with developing automated test generation tools and currently there is no particular tool or metric to check the effectiveness of these automated test generation tools. In my thesis, I aim to measure the effectiveness of two automated test generation tools. The two automated tools on which I have experimented on are Tpalus and EVOSUITE. Tpalus and EVOSUITE are capable of generating test cases for any program written in Java. They are specifically designed to work on Java. Several metrics have to be considered in measuring the effectiveness of a tool. I use the results obtained from these tools on several open source subjects to evaluate both the tools. The metrics that were chosen in comparing these tools include code coverage, mutation scores, and size of the test suite. Code coverage tells us how well the source code is covered by the test cases. A better test suite generally aims to cover most of the source code to consider each and every statement as a part of testing. A mutation score is an indication of the test suite detecting and killing mutants. In this case, a mutant is a new version of a program that is created by making a small syntactic change to the original program. The higher mutation score, the higher the number of mutants detected and killed. Results obtained during the experiment include branch coverage, line coverage, raw kill score and normalized kill score. These results help us to decide how effective these tools are when testing critical software

    Overcoming Language Dichotomies: Toward Effective Program Comprehension for Mobile App Development

    Full text link
    Mobile devices and platforms have become an established target for modern software developers due to performant hardware and a large and growing user base numbering in the billions. Despite their popularity, the software development process for mobile apps comes with a set of unique, domain-specific challenges rooted in program comprehension. Many of these challenges stem from developer difficulties in reasoning about different representations of a program, a phenomenon we define as a "language dichotomy". In this paper, we reflect upon the various language dichotomies that contribute to open problems in program comprehension and development for mobile apps. Furthermore, to help guide the research community towards effective solutions for these problems, we provide a roadmap of directions for future work.Comment: Invited Keynote Paper for the 26th IEEE/ACM International Conference on Program Comprehension (ICPC'18

    Enablers and Impediments for Collaborative Research in Software Testing: An Empirical Exploration

    Full text link
    When it comes to industrial organizations, current collaboration efforts in software engineering research are very often kept in-house, depriving these organizations off the skills necessary to build independent collaborative research. The current trend, towards empirical software engineering research, requires certain standards to be established which would guide these collaborative efforts in creating a strong partnership that promotes independent, evidence-based, software engineering research. This paper examines key enabling factors for an efficient and effective industry-academia collaboration in the software testing domain. A major finding of the research was that while technology is a strong enabler to better collaboration, it must be complemented with industrial openness to disclose research results and the use of a dedicated tooling platform. We use as an example an automated test generation approach that has been developed in the last two years collaboratively with Bombardier Transportation AB in Sweden

    Automatically Discovering, Reporting and Reproducing Android Application Crashes

    Full text link
    Mobile developers face unique challenges when detecting and reporting crashes in apps due to their prevailing GUI event-driven nature and additional sources of inputs (e.g., sensor readings). To support developers in these tasks, we introduce a novel, automated approach called CRASHSCOPE. This tool explores a given Android app using systematic input generation, according to several strategies informed by static and dynamic analyses, with the intrinsic goal of triggering crashes. When a crash is detected, CRASHSCOPE generates an augmented crash report containing screenshots, detailed crash reproduction steps, the captured exception stack trace, and a fully replayable script that automatically reproduces the crash on a target device(s). We evaluated CRASHSCOPE's effectiveness in discovering crashes as compared to five state-of-the-art Android input generation tools on 61 applications. The results demonstrate that CRASHSCOPE performs about as well as current tools for detecting crashes and provides more detailed fault information. Additionally, in a study analyzing eight real-world Android app crashes, we found that CRASHSCOPE's reports are easily readable and allow for reliable reproduction of crashes by presenting more explicit information than human written reports.Comment: 12 pages, in Proceedings of 9th IEEE International Conference on Software Testing, Verification and Validation (ICST'16), Chicago, IL, April 10-15, 2016, pp. 33-4

    Bioinformatics challenges of high-throughput SNP discovery and utilization in non-model organisms

    Get PDF
    A current trend in biological science is the increased use of computational tools for both the production and analysis of experimental data. This is especially true in the field of genomics, where advancements in DNA sequencing technology have dramatically decreased the time and cost associated with DNA sequencing resulting in increased pressure on the time required to prepare and analyze data generated during these experiments. As a result, the role of computational science in such biological research is increasing. This thesis seeks to address several major questions with respect to the development and application of single nucleotide polymorphism (SNP) resources in non-model organisms. Traditional SNP discovery using polymerase chain reaction (PCR) amplification and low-throughput DNA sequencing is a time consuming and laborious process, which is often limited by the time required to design intron-spanning PCR primers. While next-generation DNA sequencing (NGS) has largely supplanted low-throughput sequencing for SNP discovery applications, the PCR based SNP discovery method remains in use for cost effective, targeted SNP discovery. This thesis seeks to develop an automated method for intron-spanning PCR design which would remove a significant bottleneck in this process. This work develops algorithms for combining SNP data from multiple individuals, independent of the DNA sequencing platforms, for the purpose of developing SNP genotyping arrays. Additionally, tools for the filtering and selection of SNPs will be developed, providing start to finish support for the development of SNP genotyping arrays in complex polyploids using NGS. The result of this work includes two automated pipelines for the design of intron-spanning PCR primers, one which designs a single primer pair per target and another that designs multiple primer pairs per target. These automated pipelines are shown to reduce the time required to design primers from one hour per primer pair using the semi-automated method to 10 minutes per 100 primer pairs while maintaining a very high efficacy. Efficacy is tested by comparing the number of successful PCR amplifications of the semi- automated method with that of the automated pipelines. Using the Chi-squared test, the semi-automated and automated approaches are determined not to differ in efficacy. Three algorithms for combining SNP output from NGS data from multiple individuals are developed and evaluated for their time and space complexities. These algorithms were found to be computationally efficient, requiring time and space linear to the size of the input. These algorithms are then implemented in the Perl language and their time and memory performance profiled using experimental data. Profiling results are evaluated by applying linear models, which allow for predictions of resource requirements for various input sizes. Additional tools for the filtering of SNPs and selection of SNPs for a SNP array are developed and applied to the creation of two SNP arrays in the polyploid crop Brassica napus. These arrays, when compared to arrays in similar species, show higher numbers of polymorphic markers and better 3-cluster genotype separation, a viable method for determining the efficacy of design in complex genomes

    Software development: A paradigm for the future

    Get PDF
    A new paradigm for software development that treats software development as an experimental activity is presented. It provides built-in mechanisms for learning how to develop software better and reusing previous experience in the forms of knowledge, processes, and products. It uses models and measures to aid in the tasks of characterization, evaluation and motivation. An organization scheme is proposed for separating the project-specific focus from the organization's learning and reuse focuses of software development. The implications of this approach for corporations, research and education are discussed and some research activities currently underway at the University of Maryland that support this approach are presented

    Automated testing of web applications with multilevel architecture

    Get PDF
    Веб-додатки відіграють важливу роль в житті нашого суспільства. Вони застосовуються в таких секторах, як бізнес, охорона здоров'я та державне управління. Від якості таких додатків може залежити не лише зручність користувачів, але і функціонування організацій. Тестування є найбільш широко використовуваним і ефективним підходом для забезпечення якості та надійності програмного забезпечення, включаючи веб-додатки. Однак веб-додатки дуже відрізняються від традиційного програмного забезпечення, оскільки вони включають в себе динамічне створення та інтерпретацію коду, а також реалізацію конкретного режиму взаємодії на основі навігаційної структури веб-програми. Автоматизоване тестування – це автоматичне виконання набору тестів. Створивши цей набір один раз, його можна використовувати кожного разу після внесення деяких змін у веб-додаток. Крім того, сучасні веб-додатки побудовані на основі багаторівневої архітектури. Тому, щоб перевірити загальну поведінку веб-додатків, потрібно скласти комплекс методів тестування. Автоматизація тестування не може бути реалізована без відповідних інструментів. Саме вони визначають, як буде здійснюватися тестування та чи можуть бути досягнуті переваги автоматизації. Інструменти автоматизації тестування є найважливішим компонентом у інструментальному ланцюжку розробки. В статті було проаналізовано існуючі програмні засоби, які використовуються для автоматизованого тестування, та обрано серед них для кожного рівня веб-додатку ті, які зможуть забезпечити високий рівень безпеки і мінімізувати ймовірність помилок або збоїв в роботі програми. Для досягнення цієї цілі були розглянуті таки види програмних засобів: системи управління версіями; системи відстежування помилок; засоби автоматичного тестування; засоби для автоматизованого тестування навантаження; програмне забезпечення безперервної інтеграції. На їх основі було складено комплекс автоматизації тестування веб-додатку, який дозволить без зайвих складнощів проводити індивідуальні модифікації системи і значно зменшить кількість помилок в процесі доробки системи іншими спеціалістами. В результаті реалізації автоматизованого тестування веб-проекту був отриманий практичний досвід створення автоматизованої системи тестування веб-додатків за допомогою системи контролю версій (GIT) Bitbucket і системи безперервної інтеграції (CI) Jenkins.Web applications play an important role in the life of our society. They are applied in sectors such as business, health care and public administration. The quality of such applications can depend not only on user convenience but also on the functioning of organizations. Testing is the most widely used and effective approach to ensuring the quality and reliability of software, including web applications. However, web applications are very different from traditional software because they include dynamic creation and interpretation of the code, as well as the implementation of a specific interaction mode based on the navigation structure of the web application. Automated testing is an automatic execution of a set of tests. Having created this set once, you can use it every time after making some changes to the web application. In addition, modern web applications are built on the basis of multi-level architecture. Therefore, to test the overall behavior of web applications, you need to complete a set of testing methods. Automation testing cannot be implemented without the appropriate tools. It determines how they will be tested and whether the benefits of automation can be achieved. Test automation tools are the most important component in the development toolchain. The purpose of the work was to analyze the existing software tools used for automated testing, to apply among them for each level of the web application those that can provide a high level of security and minimize the likelihood of errors or failures in the program. To achieve this goal, the following kinds of software were considered: version control systems; error tracking systems; automatic testing tools; tools for automated load testing; continuous integration software. On their basis, a complex of testing automation of the web application was made, which would allow without any extra complexity to carry out individual modifications of the system and significantly reduce the number of errors in the process of updating the system by other specialists. As a result of the automated testing of the web project, practical experience was gained with the creation of an automated web application testing system using the Bitbucket version control system (GIT) and the Jenkins Continuous Integration System (CI)
    corecore