• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 1
  • 1
  • Tagged with
  • 2
  • 2
  • 2
  • 2
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 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.
1

Facilitating comprehension of Swift programs

Chernenko, Andrii January 2018 (has links)
Program comprehension is the process of gaining knowledge about software system by extracting it from its source code or observing its behavior at runtime. Often, when documentation is unavailable or missing, this is the only reliable source of knowledge about the system, and the fact that up to 50% of total maintenance effort is spent understanding the system makes it even more important. The source code of large software systems contains thousands, sometimes millions of lines of code, motivating the need for automation, which can be achieved with the help of program comprehension tools. This makes comprehension tools an essential factor in the adoption of new programming languages. This work proposes a way to fill this gap in the ecosystem of Swift, a new, innovative programming language aiming to cover a wide range of applications while being safe, expressive, and performant. The proposed solution is to bridge the gap between Swift and VizzAnalyzer, a program analysis framework featuring a range of analyses and visualizations, as well as modular architecture which makes adding new analyses and visualizations easier. The idea is to define a formal model for representing Swift programs and mapping it to the common program model used by VizzAnalyzer as the basis for analyses and visualizations. In addition to that, this paper discusses the differences between Swift and programming languages which are already supported by VizzAnalyzer, as well as practical aspects of extracting the models of Swift programs from their source code.
2

Pokročilé programové konstrukce a programovací techniky jazyka Swift / Advanced programming constructs and techniques in the Swift language

Čislinský, Jan January 2017 (has links)
The thesis focuses on advanced programming constructs and techniques of the Swift programming language. At the beginning programming paradigms that are supported by the Swift design (object-oriented and functional) are introduced. Concepts of each paradigm are described and Swift is then evaluated by the level of support for these paradigms. Following programming constructs are described in-depth: working with variables, optional types, enumerated types, functions and closures. Creating of custom operators and subscripts. Operations with protocols, generic types and parallel program execution. Error handling with throwing functions. Detailed explanation of value types and their differences from reference type is given too. Thesis also explains nested types and all higher-order functions in Swift. At the end are described extensions; specifically extension of computed property, initialization function, function, subscript, nested type and protocol and generic types extensions. In the last section of the thesis these advanced programming techniques are described; function chaining and composition, structure saving, performance optimization of value types, reflection in the Swift programming language and how modules and namespaces work. At the end protocol-oriented programming is introduced.

Page generated in 0.1213 seconds