Spelling suggestions: "subject:"softwareengineering"" "subject:"softwareengineerings""
221 |
Multidisciplinary design automation : Working with product model extensionsHeikkinen, Tim January 2018 (has links)
Being able to efficiently and effectively provide custom products has been identified as a competitive advantage for manufacturing organizations. Product configuration has been shown to be an effective way of achieving this through a modularization, product platform and product family development approach. A core assumption behind product configuration is that the module variants and their constraints can be explicitly defined as product knowledge in terms of geometry and configuration rules. This is not always the case, however. Many companies require extensive engineering to develop each module variant and cannot afford to do so in order to meet potential customer requirements within a predictable future. Instead, they try to implicitly define the module variants in terms of the process for how they can be realized. In this way they can realize module variants on demand efficiently and effectively when the customer requirements are better defined, and the development can be justified by the increased probability of profiting from the outcome. Design automation, in its broadest definition, deals with computerized engineering support by effectively and efficiently utilizing pre-planned reusable assets to progress the design process. There have been several successful implementations reported in the literature, but a widespread use is yet to be seen. It deals with the explicit definition of engineering process knowledge, which results in a collection of methods and models that can come in the form of computer scripts, parametric CADmodels, template spreadsheets, etc. These methods and models are developed using various computer tools and maintained within the different disciplines involved, such as geometric modeling, simulation, or manufacturing, and are dependent on each other through the product model. To be able to implement, utilize, and manage design automation systems in or across multiple disciplines, it is important to first understand how the disciplinary methods and models are dependent on each other through the product model and then how these relations should be constructed to support the users without negatively affecting other aspects, such as modeling flexibility, minimum documentation, and software tool independence. To support the successful implementation and management of design automation systems the work presented here has focused on understanding how some digital product model constituents are, can, and, to some extent, should be extended to concretize relations between methods and models from different tools and disciplines. It has been carried out by interviewing Swedish industrial companies, performing technical reviews, performing literature reviews, and developing prototypes, which has resulted in an increased understanding and the consequent development of a conceptual framework that highlights aspects relating to the choice of extension techniques.
|
222 |
Tool orchestration for modeling, verification and analysis of collaborating autonomous machinesMrvaljevic, Pavle January 2020 (has links)
System-of-systems (SoS) is a collective of multiple system units that have a common purpose. In this thesis, the Volvo Electric Site is investigated as an example case study in which safety and performance properties of collaborating autonomous machines are evaluated and analyzed. Formal methods in software engineering aim to prove the correctness of the system by evaluating its mathematical model. We use an actor-based framework, AdaptiveFlow, for modeling system functionalities and timing features. The aim is to link an abstract model evaluation and a simulation of real-world cases that are deployed in the VCE Simulator. In addition, it is necessary to make sure that AdaptiveFlow provides correct-by-design scenarios. The verification is conducted by developing an orchestration method between the AdaptiveFlow framework and the VCE Simulator. A tool named VMap is developed throughout this thesis for automated mapping of the input models of AdaptiveFlow and the VCE Simulator to make the orchestration possible. Furthermore, AdaptiveFlow is perceived in two different ways, as a design tool, and as an analysis tool. The models created in AdaptiveFlow are directly mapped to the VCE Simulator by using the VMap tool where the VCE Simulator is used as a testbed for checking these models. The outcome of this thesis is reflected in the establishment of a mapping pattern between AdaptiveFlow inputs and VCE simulator by developing the VMap tool for automatic mapping. It was shown that there is a natural mapping between the AdaptiveFlow models and VCE simulator inputs. By using VMap, we can quickly get to the desired scenarios. Through the development of three different cases, the results show that it is possible to design safe and optimal scenarios by orchestrating the AdaptiveFlow and the VCE Simulator using the VMap tool as well as the correlation between results from AdaptiveFlow and VCE Simulator.
|
223 |
Input Partitioning Impact on Combinatorial Test CoverageBallkoci, Rea January 2020 (has links)
Software testing is a crucial activity when it comes to the software lifecycle as it can say with a certain confidence that the software will behave according to its specified behavior. However, due to the large input space, it is almost impossible to check all the combinations that might possibly lead to failures. Input partitioning and combinatorial testing are two techniques that can partially solve the test creation and selection problem, by minimizing the number of test cases to be executed. These techniques work closely together, with input partitioning providing a selection of values that are more likely to expose software faults, and combinatorial testing generating all the possible combinations between two to six parameters. The aim of this Thesis is to study how exactly input partitioning impacts combinatorial test coverage, in terms of the measured t-way coverage percentage and the number of missing test cases to achieve full t-way coverage. For this purpose, six manually written test suites were provided by Bombardier Transportation. We performed an experiment, where the combinatorial coverage is measured for four systematic strategies of input partitioning, using a tool called Combinatorial Coverage Measurement (CCM) tool. The strategies are based on the interface documentations, where we can partition using information about data types or predefined partitions, and specification documentations, where we can partition while using Boundary Value Analysis (BVA) or not. The results show that input partitioning affects the combinatorial test coverage through two factors, the number of partitions or intervals and the number of representative values per interval. A high number of values will lead to a higher number of combinations that increases exponentially. The strategy based on specifications without considering BVA always scored the highest coverage per test suite ranging between 22% and 67% , in comparison to the strategy with predefined partitions that almost always had the lowest score ranging from 4% to 41%. The strategy based on the data types was consistent in always having the second highest score when it came to combinatorial coverage ranging from 8% to 56%, while the strategy that considers BVA would vary, strongly depending on the number of non-boolean parameters and their respective number of boundary values, ranging from 3% to 41%. In our study, there were also some other factors that affected the combinatorial coverage such as the number of manually created test cases, data types of the parameters and their values present in the test suites. In conclusion, an input partitioning strategy must be chosen carefully to exercise parts of the system that can potentially result in the discovery of an unintended behavior. At the same time, a test engineer should also consider the number of chosen values. Different strategies can generate different combinations, and thus influencing the obtained combinatorial coverage. Tools that automate the generation of the combinations are adviced to achieve 100% combinatorial coverage.
|
224 |
An industrial case study to improve test case execution timeYadavalli, Tejaswy January 2020 (has links)
No description available.
|
225 |
Fundamentala utmaningar med maskininlärning : Identifikation av ansiktsmask på bildBile Excell, Linus January 2021 (has links)
Maskininlärning är en teknik som kan användas inom många områden, bland annat inom bildigenkänning. Syftet med detta projekt är a få en grundlig förståelse för hur maskininlärning fungerar, inklusive vilka datatekniska förkunskaper som krävs och vilka utmaningar som finns i självlärande system. Detta har undersökts genom a skapa och optimera e system som identifierar huruvida en person på en bild använder ansiktsmask eller inte. Tyngden har legat på att samla in och hantera data, men framför allt på a optimera flera olika hyperparametrar. Detta genomfördes genom insamling av information för att skaffa en grundläggande förståelse för området. Därefter tränades, validerades och testades systemet. Systemet justerades genom applicering av olika hyperparametrar för a förstå hur dessa påverkade resultatet. Detta gjordes i Keras och resultatet visualiserades i MatPlotlib. Resultatet visade a en utmaning för e självlärande system är a minska overfitting, vilket var anledningen till varför applicering av hyperparametern dropout visade sig vara viktig. Utmaningen med a använda maskininlärning upp fattades framför allt vara a förstå vad som påverkar resultatet, då det finns många parametrar och det tar lång tid att testa alla. Trots det skapades ett tillräckligt bra system för a kunna avgöra om en person bär ansiktsmask eller inte medtanke på den mängd data, tid och kunskap som fanns tillgänglig, vilket tyder på a maskininlärning kan vara användbart både inom detta område och många andra områden i samhället. / Machine learning is a widely used technique, which can be used for image recognition. The aim of this project is to get a basic understanding for how machine learning operates, including the user’s required technical prior knowledge as well as the challenges that exist within a self-learning system. This was examined by creating and optimizing a system that identifies whether a person in a picture is wearing a face mask or not. The main focus of the project has been on collecting and managing data, but most importantly on optimizing hyper parameters. This was executed by collecting information to achieve basic understanding of the topic. Then the system was trained, validated and tested. The system was optimized by application of various hyper parameters to show the user how they affect the result. This was executed in Keras and visualized in MatPlotlib. The result showed that one challenge in a self-learning system is to reduce the risk of overfitting, which is why application of the hyper parameter dropout was important. The challenge in using machine learning seemed to be that many hyper parameters can affect the result, and understanding what, how and why a result is the way it is can be difficult for the user. Despite this, a system that could interpret whether a person in a picture was wearing a face mask or not was created and optimized in a sufficient way regarding the amount of data, time and previous knowledge available. This emphasizes the utility of machine learning both in this and other areas.
|
226 |
Development and Validation of Feedback-Based Testing Tutor Tool to Support Software Testing PedagogyCordova, Lucas Pascual January 2020 (has links)
Current testing education tools provide coverage deficiency feedback that either mimics industry code coverage tools or enumerates through the associated instructor tests that were absent from the student’s test suite. While useful, these types of feedback mechanisms are akin to revealing the solution and can inadvertently lead a student down a trial-and-error path, rather than using a systematic approach. In addition to an inferior learning experience, a student may become dependent on the presence of this feedback in the future. Considering these drawbacks, there exists an opportunity to develop and investigate alternative feedback mechanisms that promote positive reinforcement of testing concepts. We believe that using an inquiry-based learning approach is a better alternative (to simply providing the answers) where students can construct and reconstruct their knowledge through discovery and guided learning techniques. To facilitate this, we present Testing Tutor, a web-based assignment submission platform to support different levels of testing pedagogy via a customizable feedback engine. This dissertation is based on the experiences of using Testing Tutor at different levels of the curriculum. The results indicate that the groups using conceptual feedback produced higher-quality test suites (achieved higher average code coverage, fewer redundant tests, and higher rates of improvement) than the groups that received traditional code coverage feedback. Furthermore, students also produced higher quality test suites when the conceptual feedback was tailored to task-level for lower division student groups and self-regulating-level for upper division student groups. We plan to perform additional studies with the following objectives: 1) improve the feedback mechanisms; 2) understand the effectiveness of Testing Tutor’s feedback mechanisms at different levels of the curriculum; and 3) understand how Testing Tutor can be used as a tool for instructors to gauge learning and determine whether intervention is necessary to improve students’ learning.
|
227 |
Adaptive Regression Testing Strategy: An Empirical StudyArafeen, Md. Junaid January 2012 (has links)
When software systems evolve, different amounts of code modifications can be involved in different versions. These factors can affect the costs and benefits of regression testing techniques, and thus, there may be no single regression testing technique that is the most cost-effective technique to use on every version. To date, many regression testing techniques have been proposed, but no research has been done on the problem of helping practitioners systematically choose appropriate techniques on new versions as systems evolve. To address this problem, we propose adaptive regression testing (ART) strategies that attempt to identify the regression testing techniques that will be the most cost-effective for each regression testing session considering organization’s situations and testing environment. To assess our approach, we conducted an experiment focusing on test case prioritization techniques. Our results show that prioritization techniques selected by our approach can be more cost-effective than those used by the control approaches.
|
228 |
Automating Self Evaluations for Software EngineersMiranda, Jonathan Rodrigo A 01 June 2016 (has links)
Software engineers frequently compose self-evaluations as part of employee perfor- mance reviews. These evaluations can be a key artifact for assessing a software engineer’s contributions to a team and organization, and for generating useful feed- back. Self-evaluations can be challenging because a) they can be time consuming, b) individuals may forget about important contributions especially when the review period is long such as a full year, c) some individuals can consciously or unconsciously overstate their contributions, and d) some individuals can be reluctant to describe their contributions for fear of appearing too proud [24].
UNBIASED, Useful New Basic Interactive Automated Self-Evaluation Demon- stration, is a web application designed to tackle the challenges of performing a self- evaluation by automatically gathering data from existing third party APIs, perform- ing an analysis on the data, and generating a self-evaluation starting point for soft- ware engineers to build off. The third party APIs currently supported are: Bitbucket, Gmail, Google Calendar, GitHub, and JIRA.
|
229 |
SOFTWARE FOR SAFE MOBILE ROBOTS WITH ROS 2 AND REBECASharovarskyi, Kostiantyn January 2020 (has links)
Robotic systems are involved in our daily lives and the amount of traction they have received is non-negligible. In spite of their sizeable popularity, the quality of their software is often dismissed. That may hinder an important property of robotic systems: safety. The movement of mobile robots introduces an obvious safety concern. The collision of a robot with various things can lead to disastrous results. By amplifying the development process with formal verification techniques, one can decrease the probability of such failures. In order to facilitate close integration of safety assurance and the development process, we propose a method to develop safe software for ROS 2-powered mobile robots. We conduct a case study by going through all the proposed steps and reporting the results. The case study focuses on a scenario in which mobile robots move from a starting position to the target position. Models of various ROS 2 components utilised in mobile robots are developed. Extensibility is a core property of our model. We show that it allows to verify both single- and multi-robot scenarios. Furthermore, that flexibility allowed us to model two path-finding approaches: one naive approach without collision avoidance and one efficient approach based on the A* algorithm. The proposed method is tightly coupled with modelling, hence, the abstraction will lead to some mismatches between the model and reality. We report such mismatches by deploying the developed software to a simulation environment (i.e. Gazebo) and examining the behavior of the robot(s).
|
230 |
Critical success factors in Agile software development projectsWalander, Tomas, Larsson, David January 2015 (has links)
The demand for combining Agile methodologies with large organizations is growing as IT plays a larger role in modern business, even in traditional manufacturing companies. In such organizations, management feel they are losing the ability to plan and control as the developers increasingly utilize Agile methodologies. This mismatch leads to frustration and creates barriers to fully Agile software development. Therefore, this report aims to evaluate what factors affect Agile software development projects in an organizational context, and in particular how these factors can be monitored by the effective use of measures. This master thesis project has conducted a case study at Scania IT, a subsidiary of truck manufacturer Scania, as well as an extensive literature review, which together help identify several critical success factors for combining Agile methodologies with an organization. The report concludes that several aspects are important when agility is introduced to a functional organization and also when combined with a project stage gate model. Moreover, it was found that measures, in particular software metrics, can greatly aid the organization in overcoming several organizational barriers. However, to succeed, corrective actions must be defined that help the organization prevent the measure from becoming yet another statistic data, but rather learn and improve its way of working.
|
Page generated in 0.0729 seconds