• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 2635
  • 483
  • 390
  • 370
  • 59
  • 45
  • 35
  • 19
  • 10
  • 10
  • 9
  • 7
  • 6
  • 3
  • 2
  • Tagged with
  • 4634
  • 4634
  • 2051
  • 1971
  • 1033
  • 617
  • 521
  • 485
  • 458
  • 448
  • 421
  • 416
  • 408
  • 338
  • 310
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
721

Integrating formal analysis techniques into the Progress-IDE

Ivanov, Dinko January 2011 (has links)
In this thesis we contribute to the Progress IDE, an integrated development enviroment for real-time embedded systems and more precisely to the REMES toolchain, a set of tools to enabling construction and analysis of embedded system behavior models. The contribution aims to facilitate the formal analysis of behavioral models, so that certain extra-functional properties might be verified during early stages of development. Previous work in the field proposes use of the Priced Timed Automata framework for verification of such properties. The thesis outlines the main points where the current toolchain should be extended in order to allow formal analysis of modeled components. Result of the work is a prototype, which minimizes the manual efforts of system designer by model to model transformations and provides seamless integration with existing tools for formal analysis.
722

Integrating formal analysis techniques into the Progress-IDE

Ivanov, Dinko January 2011 (has links)
In this thesis we contribute to the Progress IDE, an integrated development enviroment for real-time embedded systems and more precisely to the REMES toolchain, a set of tools to enabling construction and analysis of embedded system behavior models. The contribution aims to facilitate the formal analysis of behavioral models, so that certain extra-functional properties might be verified during early stages of development. Previous work in the field proposes use of the Priced Timed Automata framework for verification of such properties. The thesis outlines the main points where the current toolchain should be extended in order to allow formal analysis of modeled components. Result of the work is a prototype, which minimizes the manual efforts of system designer by model to model transformations and provides seamless integration with existing tools for formal analysis.
723

Performance Modeling of ASP.Net Web Service Applications: an industrial case study

de Gooijer, Thijmen January 2011 (has links)
During the last decade the gap between software modeling and performancemodeling has been closing. For example, UML annotations have been developed to enable the transformation of UML software models to performance models, thereby making performance modeling more accessible. However, as of yet few of these tools are ready for industrial application. In this thesis we explorer the current state of performance modeling tooling, the selection of a performance modeling tool for industrial application is described and a performance modeling case study on one of ABB's remote diagnostics systems (RDS) is presented. The case study shows the search for the best architectural alternative during a multi-million dollar redesign project of the ASP.Net web services based RDS back-end. The performance model is integrated with a cost model to provide valuable decision support for the construction of an architectural roadmap. Despite our success we suggest that the stability of software performance modeling tooling and the semantic gap between performance modeling and software architecture concepts are major hurdles to widespread industrial adaptation. Future work may use the experiences recorded in this thesis to continue improvement of performance modeling processes and tools for industrial use.
724

A comparison of component-based software engineering and model-driven development from the ProCom perspective

Grozev, Nikolay January 2011 (has links)
Component-based software engineering (CBSE) and model-driven development (MDD) are two approaches for handling software development complexity. In essence, while CBSE focuses on the construction of systems from existing software modules called components; MDD promotes the usage of system models which after a series of transformations result with an implementation of the desired system. Even though they are different, MDD and CBSE are not mutually exclusive. However, there has not been any substantial research about what their similarities and differences are and how they can be combined. In this respect, the main goal of this thesis is to summarize the theoretical background of MDD and CBSE, and to propose and apply a systematic method for their comparison. The method takes into account the different effects that these development paradigms have on a wide range of development aspects. The comparison results are then summarized and analyzed. The thesis also enriches the theoretical discussion with a practical case study comparing CBSE and MDD with respect to ProCom, a component model designed for the development of component-based embedded systems in the vehicular-, automation- and telecommunication domains. The aforementioned comparison method is refined and applied for this purpose. The comparison results are again summarized, analyzed and proposals about future work on ProCom are made.
725

Challenges with modern web testing

Suwala, Pawel January 2015 (has links)
The number of web applications continues to grow rapidly. Many applications that were traditionally desktop-based such as word processors, email clients or even file managers have now their web alternatives that often have bigger user base. While the software world is shifting from providing desktop-based applications to offering cloud-based services, challenges arise to provide high quality software in this radically different environment. Web-based applications are different in many aspects to their desktop equivalents. Web-based and desktop-based applications have radically dissimilar architecture, user interface, execution environment, requirements and limitations. To mention a few specific differences: the web application is executed in the context of a web browser, not operating system; code is executed in two separate places: on the server and in the web browser; code for the server is written in a different language than code for the client. Because of these differences, the traditional software testing techniques are only of limited use. To properly test a web application one needs to take into account numerous differences in Web-Browsers such as Internet Explorer, Mozilla Firefox, Google Chrome or Apple Safari. Simple input-output testing is useful only to limited degree, because output cannot be just compared to the predefined value but must be compared within the context of all the environments and operating systems the application supports. The fact that an application works in one browser does not guarantee that it will work at all in other browsers. The entire complexity of the problem makes testing web applications a very time consuming and difficult task. Often it takes significantly longer time to test the application than it is to implement it. Because of these difficulties, web applications are often tested exclusively manually by humans, and only to a limited degree. New techniques and technologies are necessary to approach the problem of web application testing. This paper includes a case study carried out during author’s work on a web-based application. It examines the current state-of-the-art of web application testing and suggests useful techniques in tackling the problem.
726

A CONCEPTUAL FRAMEWORK FOR DISTRIBUTED SOFTWARE QUALITY NETWORK

ANUSHKA HARSHAD PATIL (7036883) 12 October 2021 (has links)
The advancement in technology has revolutionized the role of software in recent years. Software usage is practically found in all areas of the industry and has become a prime factor in the overall working of the companies. Simultaneously with an increase in the utilization of software, the software quality assurance parameters have become more crucial and complex. Currently the quality measurement approaches, standards, and models that are applied in the software industry are extremely divergent. Many a time the correct approach will wind up to be a combination of di erent concepts and techniques from di erent software assurance approaches [1]. Thus, having a platform that provides a single workspace for incorporating multiple software quality assurance approaches will ease the overall software quality process. In this thesis we have proposed a theoretical framework for distributed software quality assurance, which will be able to continuously monitor a source code repository; create a snapshot of the system for a given commit (both past and present); the snapshot can be used to create a multi-granular blockchain of the system and its metrics (i.e.,metadata) which we believe will let the tool developers and vendors participate continuously in assuring quality and security of systems and in the process be accessible when required while being rewarded for their services.
727

Exploring the socio-technical impact of continuous integration: tools, practices, and humans

Elazhary, Omar M. 12 November 2021 (has links)
Continuous software engineering is a rapidly growing discipline in software engineering. Among its many reported benefits is increased development velocity, faster feedback for developers, and better software quality. It also comes with its own share of challenges, most of which are centered on making automated builds more efficient or detecting problems with build configuration. However, the majority of literature in this area does not take into account software developers, which are arguably the cornerstone of software development. Software development is still a human-driven endeavour. It is a developer who writes the code, tests it, makes the final decision while factoring in the build results, and so on. Furthermore, software development does not happen in a vacuum. Development takes place within the context of practices dictating how it should be done, and perceived benefits that drive practice adoption and implementation. Software development, and by extension continuous software development, is a socio-technical endeavour that features interactions between human aspects (developers, testers, etc.), technical aspects (automation), and environmental aspects (process, project-specific characteristics, infrastructure, etc.). While the software engineering field has its share of theories, frameworks, and models, or borrows them from other fields, we still do not have a human-centric framework for software engineering that takes into account other socio-technical aspects (technical and environmental). My dissertation addresses this need for a socio-technical framework by illustrating a series of studies that ultimately resulted in the creation of a socio-technical theory of continuous software engineering that focuses on phenomena involving both humans and automation. In particular, I focus on the role of continuous software engineering tools (automation) in the software development process and how they displace existing tools, disrupt existing workflows, and feature in software developer decision making. This theory will enable further research in this area as well as allow researchers to make more grounded recommendations for industrial applications. / Graduate
728

ASSESSING THE QUALITY OF SOFTWARE DEVELOPMENT TUTORIALS AVAILABLE ON THE WEB

Nishi, Manziba A 01 January 2019 (has links)
Both expert and novice software developers frequently access software development resources available on the Web in order to lookup or learn new APIs, tools and techniques. Software quality is affected negatively when developers fail to find high-quality information relevant to their problem. While there is a substantial amount of freely available resources that can be accessed online, some of the available resources contain information that suffers from error proneness, copyright infringement, security concerns, and incompatible versions. Use of such toxic information can have a strong negative effect on developer’s efficacy. This dissertation focuses specifically on software tutorials, aiming to automatically evaluate the quality of such documents available on the Web. In order to achieve this goal, we present two contributions: 1) scalable detection of duplicated code snippets; 2) automatic identification of valid version ranges. Software tutorials consist of a combination of source code snippets and natural language text. The code snippets in a tutorial can originate from different sources, perhaps carrying stringent licensing requirements or known security vulnerabilities. Developers, typically unaware of this, can reuse these code snippets in their project. First, in this thesis, we present our work on a Web-scale code clone search technique that is able to detect duplicate code snippets between large scale document and source code corpora in order to trace toxic code snippets. As software libraries and APIs evolve over time, existing software development tutorials can become outdated. It is difficult for software developers and especially novices to determine the expected version of the software implicit in a specific tutorial in order to decide whether the tutorial is applicable to their software development environment. To overcome this challenge, in this thesis we present a novel technique for automatic identification of the valid version range of software development tutorials on the Web.
729

Requirement prioritization in Software Engineering : A Systematic Literature Review on Techniques and Methods / Prioritering av krav inom programvaruteknik : En systematisk litteraturöversikt om tekniker och metoder

Rashdan, Adam January 2021 (has links)
The present study provides a systematic overview of the most important software requirement prioritization techniques. Software requirement prioritization is a process in software engineering that precludes the actual development of software application programs and deals with assigning priorities to single requirements to define the order of their implementation. The study aims to help researchers and practitioners in deciding about the right technique since each has its advantages and limitations. Compared to the existing reviews, the current one not only captures the most promising techniques but the more general trends behind them. The study utilizes the review protocol method that aims to answer four research questions about the most popular techniques, their taxonomy, their limitations, and involved processes. The empirical data was collected from six databases for scientific manuscripts and put under scrutiny to identify the most relevant and elaborated papers. The results from 53 selected manuscripts and 106 discovered techniques demonstrate that there is evidence of a gradual shift from purely manual elicitation methods to computed-assisted and/or algorithmic ones.
730

Understanding Jamstack and its Perception in Web Development

Markovic, Dragana, Scekic, Milic January 2021 (has links)
In recent years, web development and technologies became pivotal for our lives and ubiquitous across business sectors. Web development is an inherently complex process, which involves different stakeholders, tasks, and technologies. Through the years, researchers and practitioners in web development created so-called web stacks as a way to alleviate the complexity associated to web development. Web stacks can be defined as sets of technologies coupled together for the purpose of designing and developing all the web infrastructure. As technologies and tools evolve, new stacks are designed and realized. In this thesis, we investigate one such new stack: Jamstack. We investigate how Jamstackis perceived by practitioners in the web development domain focusing on its perceived benefits and limitations, its main application domains, and the supporting tools. We achieve this using an online survey involving 31 respondents. We analyze the collected data using both vertical and orthogonal analysis. The collected data indicate that Jamstack is perceived as a promising stack whose benefits overcome possible limitations. The data suggest that Jamstack will certainly play a role in modern and future web development although there is no strong evidence that it will take over and replace traditional stacks.

Page generated in 0.1614 seconds