200,515 research outputs found
What Makes a Great Software Quality Assurance Engineer?
Software Quality Assurance (SQA) Engineers are responsible for assessing a
product during every phase of the software development process to ensure that
the outcomes of each phase and the final product possess the desired qualities.
In general, a great SQA engineer needs to have a different set of abilities
from development engineers to effectively oversee the entire product
development process from beginning to end. Recent empirical studies identified
important attributes of software engineers and managers, but the quality
assurance role is overlooked. As software quality aspects have become more of a
priority in the life cycle of software development, employers seek
professionals that best suit the company's objectives and new graduates desire
to make a valuable contribution through their job as an SQA engineer, but what
makes them great? We addressed this knowledge gap by conducting 25
semi-structured interviews and 363 survey respondents with software quality
assurance engineers from different companies around the world. We use the data
collected from these activities to derive a comprehensive set of attributes
that are considered important. As a result of the interviews, twenty-five
attributes were identified and grouped into five main categories: personal,
social, technical, management, and decision-making attributes. Through a rating
survey, we confirmed that the distinguishing characteristics of great SQA
engineers are curiosity, the ability to communicate effectively, and critical
thinking skills. This work will guide further studies with SQA practitioners,
by considering contextual factors and providing some implications for research
and practice.Comment: 17 pages, 6 figures, 12 table
Evolutionary algorithms for the multi-objective test data generation problem
Software: Practice & Experience, 42(11):1331-1362Automatic test data generation is a very popular domain in the field of search-based software engineering. Traditionally, the main goal has been to maximize coverage. However, other objectives can be defined, such as the oracle cost, which is the cost of executing the entire test suite and the cost of checking the system behavior. Indeed, in very large software systems, the cost spent to test the system can be an issue, and then it makes sense by considering two conflicting objectives: maximizing the coverage and minimizing the oracle cost. This is what we did in this paper. We mainly compared two approaches to deal with the multi-objective test data generation problem: a direct multi-objective approach and a combination of a mono-objective algorithm together with multi-objective test case selection optimization. Concretely, in this work, we used four state-of-the-art multi-objective algorithms and two mono-objective evolutionary algorithms followed by a multi-objective test case selection based on Pareto efficiency. The experimental analysis compares these techniques on two different benchmarks. The first one is composed of 800 Java programs created through a program generator. The second benchmark is composed of 13 real programs extracted from the literature. In the direct multi-objective approach, the results indicate that the oracle cost can be properly optimized; however, the full branch coverage of the system poses a great challenge. Regarding the mono-objective algorithms, although they need a second phase of test case selection for reducing the oracle cost, they are very effective in maximizing the branch coverage.Spanish Ministry of Science and Innovation and FEDER under contract TIN2008-06491-C04-01 (the M project). Andalusian Government under contract P07-TIC-03044 (DIRICOM project)
Application of Software Engineering Principles to Synthetic Biology and Emerging Regulatory Concerns
As the science of synthetic biology matures, engineers have begun to deliver real-world applications which are the beginning of what could radically transform our lives. Recent progress indicates synthetic biology will produce transformative breakthroughs. Examples include: 1) synthesizing chemicals for medicines which are expensive and difficult to produce; 2) producing protein alternatives; 3) altering genomes to combat deadly diseases; 4) killing antibiotic-resistant pathogens; and 5) speeding up vaccine production.
Although synthetic biology promises great benefits, many stakeholders have expressed concerns over safety and security risks from creating biological behavior never seen before in nature. As with any emerging technology, there is the risk of malicious use known as the dual-use problem. The technology is becoming democratized and de-skilled, and people in do-it-yourself communities can tinker with genetic code, similar to how programming has become prevalent through the ease of using macros in spreadsheets. While easy to program, it may be non-trivial to validate novel biological behavior. Nevertheless, we must be able to certify synthetically engineered organisms behave as expected, and be confident they will not harm natural life or the environment.
Synthetic biology is an interdisciplinary engineering domain, and interdisciplinary problems require interdisciplinary solutions. Using an interdisciplinary approach, this dissertation lays foundations for verifying, validating, and certifying safety and security of synthetic biology applications through traditional software engineering concepts about safety, security, and reliability of systems. These techniques can help stakeholders navigate what is currently a confusing regulatory process.
The contributions of this dissertation are: 1) creation of domain-specific patterns to help synthetic biologists develop assurance cases using evidence and arguments to validate safety and security of designs; 2) application of software product lines and feature models to the modular DNA parts of synthetic biology commonly known as BioBricks, making it easier to find safety features during design; 3) a technique for analyzing DNA sequence motifs to help characterize proteins as toxins or non-toxins; 4) a legal investigation regarding what makes regulating synthetic biology challenging; and 5) a repeatable workflow for leveraging safety and security artifacts to develop assurance cases for synthetic biology systems.
Advisers: Myra B. Cohen and Brittany A. Dunca
Overview of technologies for building robots in the classroom
This paper aims to give an overview of technologies that can be used to implement robotics within an educational context. We discuss complete robotics systems as well as projects that implement only certain elements of a robotics system, such as electronics, hardware, or software. We believe that Maker Movement and DIY trends offers many new opportunities for teaching and feel that they will become much more prominent in the future. Products and projects discussed in this paper are: Mindstorms, Vex, Arduino, Dwengo, Raspberry Pi, MakeBlock, OpenBeam, BitBeam, Scratch, Blockly and ArduBlock
Dissertations and databases: The historian as software engineer
This article argues that historians have always been closer to programmers than has perhaps been recognized, and that historical software projects undertaken within the framework of the traditional thirdâyear dissertation are useful training not just for the potential historian, but also for the potential software engineer
Recommended from our members
Project Controls and Management Systems : current practice and how it has changed over the past decade
Project Controls and Management System (PCMS) refers to an ecosystem of processes, tools and personnel required for the proper planning and execution of capital projects throughout the different phases of design, procurement, construction and startup. This can be divided into different focus areas (functions) that would include Estimating, Planning, Scheduling, Cost Control, Change Management, Progressing, and Forecasting. Various trends such as globalization, contractor specialization and information technology developments have impacted the way PCMS are implemented and made it the subject of extensive research over the past years to investigate how to best utilize those trends. Replicating the research methodology used in a 2011 report published by the Construction Research Institute (CII), this work aims to investigate the current status of PCMS implementation and how it has changed over the past decade. It was concluded that while the original PCMS principles are still valid, adoption has drastically changed in terms of efficiency for the majority of the functions. The research also identifies areas of potential concerns and provides recommendations for further improvement.Civil, Architectural, and Environmental Engineerin
Libre culture: meditations on free culture
Libre Culture is the essential expression of the free culture/copyleft movement. This anthology, brought together here for the first time, represents the early groundwork of Libre Society thought. Referring to the development of creativity and ideas, capital works to hoard and privatize the knowledge and meaning of what is created. Expression becomes monopolized, secured within an artificial market-scarcity enclave and finally presented as a novelty on the culture industry in order to benefit cloistered profit motives. In the way that physical resources such as forests or public services are free, Libre Culture argues for the freeing up of human ideas and expression from copyright bulwarks in all forms
- âŠ