App Portability with Smart Devices a Case Study from Ios to Tvos

Total Page:16

File Type:pdf, Size:1020Kb

App Portability with Smart Devices a Case Study from Ios to Tvos DEGREE PROJECT IN TECHNOLOGY, FIRST CYCLE, 15 CREDITS STOCKHOLM, SWEDEN 2016 App portability with smart devices A case study from iOS to tvOS LINNEA KYLÉN RÖNNQVIST KTH ROYAL INSTITUTE OF TECHNOLOGY SCHOOL OF INFORMATION AND COMMUNICATION TECHNOLOGY Abstract Nowadays, there are many different devices that a software developer needs to consider - a program might be present both on computer, mobile, tablet and wearables. As new smart device platforms are frequently intro- duced, firms want to leverage new opportunities that arise. Thus, firms can create new apps or port their existing ones. Recently, Apple presented an updated version of their Apple TV, and announced that apps will also be available on that platform. This thesis investigates how a productivity app implemented for Apple’s mobile op- erating system (iOS) can be ported to and refined for the new Apple TV operating system (tvOS). Further, the thesis investigates the problems of app portability that arise when porting between smart devices. A case study was performed where a specific app was ported from iOS to tvOS, using the new programming language Swift. First, the app was ported with a naive approach, with focus on source portability and min- imum porting cost. Thereafter, the app was ported using a refined ap- proach, to make it more appropriate for the targeted platform. Related lit- erature, such as app portability, smart TV and smart device research was investigated to give a more thorough understanding, and to identify addi- tional problems regarding app portability. The thesis presents the porting process, as well as the identified app portability problems when porting between smart devices: choice of pro- gramming paradigm, vendor specific APIs, platform limitations, data storage and migration, context of use, navigation and interaction, portability- versus-UX, project and team aspects and quick evolvement in the area. Lastly, it is discussed whether the apps should be ported at all, or rather reimagined to leverage new platforms with new opportunities. Further research is needed to verify the findings on other platforms, and to see whether cross-platform tools (e.g. web technologies) can be used also in the smart device domain (not only mobile-to-mobile). Keywords Apps, portability, smart devices, smart TV, tvOS, iOS, plat- forms, software development. Abstract Det finns numera många olika enheter som en mjukvaruutvecklare be- höver ha i åtanke – ett program kan förekomma både på datorn, i mobilen, på surplattan och i klockan. Eftersom det kontinuerligt introduceras nya smarta enheter, är det troligt att företag kommer vilja nyttja de nya möj- ligheterna som uppstår. Således kan företag skapa nya program eller porta sina befintliga till de nya miljöerna. Apple presenterade nyligen en ny version av sin Apple TV, och med- delade att appar nu även kommer finnas för nedladdning på denna platt- form. Denna uppsats undersöker hur en produktivitetsapp skapad för Ap- ples mobila operativsystem (iOS) kan portas och förfinas för det nya Apple TV-operativsystemet (tvOS). Dessutom undersöks de problem relaterade till app-portabilitet som uppstår vid portning mellan smarta enheter. En fallstudie genomfördes där en viss app portades från iOS till tvOS med det nya programmeringsspråket Swift. Först portades appen med ett naivt angreppssätt, där fokus låg på källkodsportabilitet och minimala portningskostnader. Därefter portades appen med ett förfinat angreppssätt för att göra den lämpligare för den avsedda plattformen. Relaterad litter- atur, såsom forskning kring app-portabilitet, smart TV:s och smarta en- heter, undersöktes för att ge en djupare förståelse och för att identifiera ytterligare problem gällande app-portabilitet. Uppsatsen presenterar portningsprocessen, samt de identifierade app- portatbilitetsproblemen vid portning mellan smarta enheter: valet av pro- grammeringsparadigm, leverantörsspecifika API:er, plattformsbegrän- sningar, datalagring och migration av data, användarkontext, naviger- ing och interaktion, portabilitet-kontra-användarupplevelse, projekt- och team-aspekter, samt den snabba utvecklingen inom området. Slutligen diskuteras huruvida apparna borde portas över huvud taget, eller om de hellre borde omskapas från noll för att optimalt kunna utnyttja de nya plattformarnas möjligheter. Ytterligare forskning krävs för att verifiera resultaten på andra platt- formar, och för att se om plattformsoberoende verktyg (exempelvis webb- teknologier) kan var till nytta även när man ser till smarta enheter (till skillnad från bara mobil-till-mobil). Nyckelord Appar, portabilitet, smarta enheter, smart TV, tvOS, iOS, platt- formar, mjukvaruutveckling. Acknowledgements Firstly, I would like to thank my advisors at KTH Royal Institute of Technology, Leif Lindbäck and Fadil Galjic. They have provided valuable insights and feedback during the entirety of the thesis work. Secondly, I would like to thank my husband, David Rönnqvist, who has endured yet another education and thesis process of mine. Finally, after 20 years of schooling, it is time to exit school for good. Contents 1 Introduction 1 1.1 Background .............................. 1 1.2 Problem ................................ 1 1.3 Purpose ................................ 2 1.4 Delimitations ............................. 3 1.5 Outline ................................ 3 2 Theoretical background 5 2.1 Operating systems - iOS and tvOS ................. 5 2.1.1 iOS .............................. 6 2.1.2 tvOS .............................. 6 2.1.3 Comparison ......................... 7 2.2 Smart devices and the role of the TV ................ 7 2.2.1 The role of the TV ...................... 8 2.2.2 Wearables .......................... 8 2.2.3 Overview of smart device and smart TV research ..... 9 2.3 Application portability ........................ 11 2.3.1 Software portability ..................... 11 2.3.2 Overview of application portability research . 12 2.3.3 Mobile portability ...................... 14 2.3.4 Overview of mobile portability research . 15 2.4 Porting and application portability: Definition . 17 2.4.1 Measurement ........................ 17 2.4.2 Context ............................ 18 3 Methodology 19 3.1 Research approach .......................... 19 3.1.1 Quantitative and qualitative methods . 19 3.1.2 Inductive and deductive methods . 19 3.1.3 Case studies ......................... 20 3.1.4 Adopted research approach . 20 3.2 Outline of research process ..................... 20 3.2.1 Literature study ....................... 20 3.2.2 Case study: Phase 1 ..................... 21 3.2.3 Case study: Phase 2 ..................... 21 3.2.4 Generalizations ....................... 22 3.3 Data collection methods ....................... 22 3.3.1 Literature study and platform research . 22 i 3.3.2 Observations from the porting experiments . 22 3.4 Portability measures ......................... 23 3.4.1 Lines of code ......................... 23 3.4.2 Work hours .......................... 23 3.5 Software development - tools and methods . 24 3.5.1 Software design process: An iterative approach . 24 3.5.2 Development environment . 24 3.5.3 Programming language and paradigm . 24 4 The iOS app and conditions for its porting 27 4.1 App functionality and structure ................... 27 4.1.1 Functionality ......................... 27 4.1.2 Core Data model, persistent storage and the cloud . 27 4.1.3 Application structure .................... 28 4.2 Demonstration of the iOS app ................... 30 4.3 Conditions for porting ........................ 35 4.4 Advantages and drawbacks ..................... 35 5 Case study: Porting to tvOS 37 5.1 Phase 1: A naive port to tvOS .................... 37 5.1.1 Creating a target and making the app runnable . 37 5.1.2 Setting up the storyboard . 38 5.1.3 Adjusting the focus ..................... 39 5.1.4 Making a date picker .................... 40 5.1.5 Up and running ....................... 43 5.2 Evaluation and research ....................... 43 5.2.1 Testing on device ...................... 43 5.2.2 Areas for improvement ................... 47 5.3 Phase 2: Refining and redesigning the app . 47 5.3.1 Implementing key-value storage and sync with iCloud . 48 5.3.2 Refining the navigation and storyboard (with tab bar and collection view) ....................... 48 5.3.3 Focus ............................. 48 5.3.4 Sizes, spacing and colors . 48 5.3.5 Text input and play/pause buttons . 49 6 Case study: Results 51 6.1 Phase 1: The naive port ....................... 51 6.2 Phase 2: The refined port ...................... 52 6.3 Portability measures ......................... 53 6.3.1 Lines of code ......................... 53 6.3.2 Work hours .......................... 54 6.4 Demonstration of the app from Phase 1 . 55 6.5 Demonstration of the app from Phase 2 . 61 7 Case study: Interpretation and generalization 67 7.1 Analysis of portability types and measures . 67 7.1.1 Binary portability ...................... 67 7.1.2 Source portability, and portability of specification & design 67 7.1.3 Revisiting the portability model . 68 ii 7.1.4 Architectural portability ................... 68 7.2 Comparing the case study approaches . 69 7.2.1 Why the naive approach is inappropriate . 69 7.2.2 Experience portability .................... 70 7.2.3 Summary of concerns .................... 71 7.3 Portability problems with smart devices . 71 7.3.1 Programming paradigm and programming language . 71 7.3.2 Vendor lock-in ........................ 71 7.3.3 Platform limitations
Recommended publications
  • Wi-Fi® Smart Device Enablement Kit User Guide
    ATWINC15x0 Smart Device Kit Wi-Fi® Smart Device Enablement Kit User Guide Introduction The Wi-Fi Smart Device Enablement Kit is a small and easy demonstration and development platform for Internet of Things (IoT) solutions. It is designed to demonstrate the design of typical IoT applications. The kit is controlled by a SAML21G18B host MCU. It is equipped with an ATWINC15x0 IEEE® 802.11 b/g/n network controller, an ATECC608A CryptoAuthentication™ device, an MCP73833 Li-Ion/Li-Po charge management controller, a MIC5317 High PSRR LDO, BME280 environment sensor and VEML6030 light sensor. It can be programmed and debugged with an Atmel-ICE programmer through SWD interface or programmed with an SAM-BA® in-system programmer through USB interface. The Wi-Fi Smart Device Enablement Kit is pre-programmed and configured for demonstrating connectivity to the AWS® IoT cloud, working with Amazon Alexa®. The user can speak to an Alexa- enabled device (for example, Echo Dot®) to get the sensor data and control LED of the kit. A mobile application is provided for board registration and network configuration. It can be used to monitor and control the kit. As an IoT edge, this firmware provides the control, monitoring, Wi-Fi connectivity and security functions in a typical IoT scenario. This board is used for evaluation/demonstration purposes only. © 2019 Microchip Technology Inc. User Guide DS50002880A-page 1 ATWINC15x0 Smart Device Kit Table of Contents Introduction .....................................................................................................................1
    [Show full text]
  • Apple Business Manager Overview Overview
    Getting Started Guide Apple Business Manager Overview Overview Contents Apple Business Manager is a web-based portal for IT administrators to deploy Overview iPhone, iPad, iPod touch, Apple TV, and Mac all from one place. Working Getting Started seamlessly with your mobile device management (MDM) solution, Apple Configuration Resources Business Manager makes it easy to automate device deployment, purchase apps and distribute content, and create Managed Apple IDs for employees. The Device Enrollment Program (DEP) and the Volume Purchase Program (VPP) are now completely integrated into Apple Business Manager, so organizations can bring together everything needed to deploy Apple devices. These programs will no longer be available starting December 1, 2019. Devices Apple Business Manager enables automated device enrollment, giving organizations a fast, streamlined way to deploy corporate-owned Apple devices and enroll in MDM without having to physically touch or prepare each device. • Simplify the setup process for users by streamlining steps in Setup Assistant, ensuring that employees receive the right configurations immediately upon activation. IT teams can now further customize this experience by providing consent text, corporate branding or modern authentication to employees. • Enable a higher level of control for corporate-owned devices by using supervision, which provides additional device management controls that are not available for other deployment models, including non-removable MDM. • More easily manage default MDM servers by setting a default server that’s based on device type. And you can now manually enroll iPhone, iPad, and Apple TV using Apple Configurator 2, regardless of how you acquired them. Content Apple Business Manager enables organizations to easily buy content in volume.
    [Show full text]
  • Legal-Process Guidelines for Law Enforcement
    Legal Process Guidelines Government & Law Enforcement within the United States These guidelines are provided for use by government and law enforcement agencies within the United States when seeking information from Apple Inc. (“Apple”) about customers of Apple’s devices, products and services. Apple will update these Guidelines as necessary. All other requests for information regarding Apple customers, including customer questions about information disclosure, should be directed to https://www.apple.com/privacy/contact/. These Guidelines do not apply to requests made by government and law enforcement agencies outside the United States to Apple’s relevant local entities. For government and law enforcement information requests, Apple complies with the laws pertaining to global entities that control our data and we provide details as legally required. For all requests from government and law enforcement agencies within the United States for content, with the exception of emergency circumstances (defined in the Electronic Communications Privacy Act 1986, as amended), Apple will only provide content in response to a search issued upon a showing of probable cause, or customer consent. All requests from government and law enforcement agencies outside of the United States for content, with the exception of emergency circumstances (defined below in Emergency Requests), must comply with applicable laws, including the United States Electronic Communications Privacy Act (ECPA). A request under a Mutual Legal Assistance Treaty or the Clarifying Lawful Overseas Use of Data Act (“CLOUD Act”) is in compliance with ECPA. Apple will provide customer content, as it exists in the customer’s account, only in response to such legally valid process.
    [Show full text]
  • Download This PDF File
    Paper—Defining Stable Touch Area based on a Large-Screen Smart Device in 3D-Touch Interface Defining Stable Touch Area based on a Large-Screen Smart Device in 3D-Touch Interface https://doi.org/10.3991/ijim.v13i02.10153 YounghoonSeo, Dongryeol Shin, Choonsung Nam * Sungkyunkwan University, Suwon, Republic of Korea( ) [email protected] Abstract—Touch interface technologies for mobile devices are essentially in use. The purpose of such touch interfaces is to run an application by touching a screen with a user’s finger or to implement various functions on the device. When the user has an attempt to use the touch interface, users tend to grab the mobile device with one hand. Because of the existence of untouchable areas to which the user cannot reach with the user’s fingers, it is possible to occur for a case where the user is not able to touch a specific area on the screen accurately. This results in some issues that the mobile device does not carry out the user’s desired function and the execution time is delayed due to the wrong implemen- tation. Therefore, there is a need to distinguish the area where the user can sta- bly input the touch interface from the area where the users cannot and to over- come the problems of the unstable touch area. Furthermore, when the size of the screen increases, these issues will become more serious because of an increase in the unstable touch areas. Especially, an interface that receives position and force data like 3D-touch requires the stable area setting different from the con- ventional 2D-touch.
    [Show full text]
  • Develop Mobile Applications with Oracle Adf Mobile
    ORACLE DATA SHEET Disclaimer: The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decision. The development, release, and timing of any features or functionality described for Oracle's products remains at the sole discretion of Oracle. DEVELOP MOBILE APPLI CATIONS WITH ORACLE ADF MOBILE KEY FEATURES AND BENEFITS Oracle JDeveloper 11g R2 enables developers to rapidly develop EXTEND YOUR APPLICATION REACH TO MOBILE DEVICES applications that run on multiple mobile devices. With the powerful THE FUSION WAY. Oracle Application Development Framework (Oracle ADF) Mobile, developers can quickly develop applications for multiple mobile FEATURES • Visual and declarative platforms such as iOS. This simplifies the path forward as mobile development platforms evolve and delivers compelling mobile applications for • Mobile applications for rich, on-device clients for multiple users. mobile platforms such as iOS • Extends the power of Fusion Mobile Enterprise Challenges Middleware to mobile applications Mobile access to enterprise applications is fast becoming a standard part of corporate life. Such applications increase organizational efficiency because mobile BENEFITS devices are more readily at hand than their desktop counterparts. • Develop once, and deploy to many devices and channels However, the speed with which mobile platforms are evolving creates challenges as • Single IDE for mobile and enterprises define their mobile strategies. Smart phones such as iPhone are powerful non-mobile development platforms, but different mobile platforms offers different tools and languages for • Single framework for mobile and desktop enterprise developers.
    [Show full text]
  • Arxiv:1809.10387V1 [Cs.CR] 27 Sep 2018 IEEE TRANSACTIONS on SUSTAINABLE COMPUTING, VOL
    IEEE TRANSACTIONS ON SUSTAINABLE COMPUTING, VOL. X, NO. X, MONTH YEAR 0 This work has been accepted in IEEE Transactions on Sustainable Computing. DOI: 10.1109/TSUSC.2018.2808455 URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8299447&isnumber=7742329 IEEE Copyright Notice: c 2018 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works. arXiv:1809.10387v1 [cs.CR] 27 Sep 2018 IEEE TRANSACTIONS ON SUSTAINABLE COMPUTING, VOL. X, NO. X, MONTH YEAR 1 Identification of Wearable Devices with Bluetooth Hidayet Aksu, A. Selcuk Uluagac, Senior Member, IEEE, and Elizabeth S. Bentley Abstract With wearable devices such as smartwatches on the rise in the consumer electronics market, securing these wearables is vital. However, the current security mechanisms only focus on validating the user not the device itself. Indeed, wearables can be (1) unauthorized wearable devices with correct credentials accessing valuable systems and networks, (2) passive insiders or outsider wearable devices, or (3) information-leaking wearables devices. Fingerprinting via machine learning can provide necessary cyber threat intelligence to address all these cyber attacks. In this work, we introduce a wearable fingerprinting technique focusing on Bluetooth classic protocol, which is a common protocol used by the wearables and other IoT devices. Specifically, we propose a non-intrusive wearable device identification framework which utilizes 20 different Machine Learning (ML) algorithms in the training phase of the classification process and selects the best performing algorithm for the testing phase.
    [Show full text]
  • Résumé Akshay Bakshi
    � Vancouver, BC, � � 778-223-6613 Akshay Bakshi ✉ [email protected] � Profile Product manager with an engineering background and a passion for craftsmanship, experienced in shipping mobile & Mac apps at scale. � Experience Microsoft, Office for Mac and Mobile Program Manager 2 Remote in Vancouver, BC 2018 – Present - Launched Office app on iOS and revamping Word, Excel and PowerPoint for uniquely mobile scenarios. Defining product vision and managing across PM, design, data science, engineering and marketing partners located in India, China and USA. - Partnering with Apple for iPad enterprise growth (MAD up 40% YoY). - Driving core UX for Office on iOS & macOS. Working on Start, push notifications, @mentions and comments to increase collaboration (usage up 3x). - Coaching early-in-career PMs. Allyship lead for Vancouver. Program Manager Redmond, WA 2016 – 2018 - Incubated an AR+VR Office product, managing user research, design and development (NPS 70). Direct approval by Satya Nadella for productization. Received patent. - Office Accessibility lead for iOS & macOS. Lead partnership with Apple to improve VoiceOver usability. Achieved App Store feature and unblocked $10M+ business deals. - Drove the iOS 11 update for Office and marketing partnership with Apple. Program Manager Intern Redmond, WA Summer 2015 Added support for right-to-left language UI in Word, Excel & PowerPoint for iOS. Symantec, Norton for Mac Software Developer Intern Los Angeles, CA Jan – Sep 2014 Refactored remote management components and built GUI tools. � Education UCLA, B.S. in Computer Science 2012 – 2015 - President, Association for Computing Machinery. Ran committee of 12. Increased funding 4x, membership 20→200 and event attendance 6x. - Creative Director, LA Hacks - Product Manager, Daily Bruin & Bruinwalk � Skills & Life Photoshop, Obj-C, C++, Sketch.
    [Show full text]
  • The Department of Justice Versus Apple Inc. -- the Great Encryption Debate Between Privacy and National Security
    Catholic University Journal of Law and Technology Volume 27 Issue 2 Spring 2019 Article 3 2019 The Department of Justice Versus Apple Inc. -- The Great Encryption Debate Between Privacy and National Security Julia P. Eckart Follow this and additional works at: https://scholarship.law.edu/jlt Part of the Communications Law Commons, Constitutional Law Commons, First Amendment Commons, Intellectual Property Law Commons, Internet Law Commons, Other Law Commons, Privacy Law Commons, and the Science and Technology Law Commons Recommended Citation Julia P. Eckart, The Department of Justice Versus Apple Inc. -- The Great Encryption Debate Between Privacy and National Security, 27 Cath. U. J. L. & Tech 1 (2019). Available at: https://scholarship.law.edu/jlt/vol27/iss2/3 This Article is brought to you for free and open access by CUA Law Scholarship Repository. It has been accepted for inclusion in Catholic University Journal of Law and Technology by an authorized editor of CUA Law Scholarship Repository. For more information, please contact [email protected]. THE DEPARTMENT OF JUSTICE VERSUS APPLE INC.—THE GREAT ENCRYPTION DEBATE BETWEEN PRIVACY AND NATIONAL SECURITY Julia P. Eckart* I. THE FACTS UNDERLYING THE DOJ–APPLE DISPUTE ........................3 A. Timeline of the Parties’ Court-Filed Documents ......................................6 B. Issues Presented in the DOJ–Apple Litigation ..........................................8 II. APPLE’S iOS9.0 SECURITY GUIDE ..........................................................9 A. Some of Apple’s Encryption and Non-Encryption Security Features ........9 B. Other Hardware and Software System Security Features .......................11 III. DOES THIS CASE PERTAIN TO A SINGLE IPHONE OR ALL IPHONES? .......................................................................................................12 A. DOJ’s Position—It is About One, Single iPhone ....................................12 B.
    [Show full text]
  • Pangu 9 Internals
    Pangu 9 Internals Tielei Wang & Hao Xu & Xiaobo Chen Team Pangu Agenda ✤ iOS Security Overview ✤ Pangu 9 Overview ✤ Userland Exploits ✤ Kernel Exploits & Kernel Patching ✤ Persistent Code Signing Bypass ✤ Conclusion Who We Are ✤ A security research team based in Shanghai, China ✤ Have broad research interests, but known for releasing jailbreak tools for iOS 7.1, iOS 8, and iOS 9 ✤ Regularly present research at BlackHat, CanSecWest, POC, RuxCon, etc. ✤ Run a mobile security conference named MOSEC (http://mosec.org) with POC in Shanghai iOS Security Overview ✤ Apple usually releases a white paper to explain its iOS security architecture ✤ Secure Booting Chain ✤ Mandatary Code Signing ✤ Restricted Sandbox ✤ Exploit Mitigation (ASLR, DEP) ✤ Data Protection ✤ Hypervisor and Secure Enclave Processor Agenda ✤ iOS Security Overview ✤ Pangu 9 Overview ✤ Userland Exploits ✤ Kernel Exploits & Kernel Patching ✤ Persistent Code Signing Bypass ✤ Conclusion What Jailbreak is “iOS jailbreaking is the removing of software restrictions imposed by iOS, Apple's operating system, on devices running it through the use of software exploits” –Wikipedia ✤ Jailbreak has to rely on kernel exploits to achieve the goal, because many software restrictions are enforced by the kernel Kernel Attack Surfaces Difficulty Gaining of the Privilege root with special entitlements root, no sandbox mobile, no sandbox mobile, less restrictive sandbox mobile, container sandbox Amount of Kernel Attack Surface Gained Our Preference Difficulty Gaining of the Privilege root with special
    [Show full text]
  • Ios SDK Release Notes for Ios 8.0 Beta 5
    iOS SDK Release Notes for iOS 8.0 Beta 5 Important: This is a preliminary document for an API or technology in development. Apple is supplying this information to help you plan for the adoption of the technologies and programming interfaces described herein for use on Apple‑branded products. This information is subject to change, and software implemented according to this document should be tested with final operating system software and final documentation. Newer versions of this document may be provided with future betas of the API or technology. Contents: Introduction Bug Reporting Notes and Known Issues Introduction iOS SDK 8.0 provides support for developing iOS apps. It is packaged with a complete set of Xcode tools, compilers, and frameworks for creating apps for iOS and OS X. These tools include the Xcode IDE and the Instruments analysis tool, among many others. With this software you can develop apps for iPhone, iPad, or iPod touch running iOS 8. You can also test your apps using the included iOS Simulator, which supports iOS 8. iOS SDK 8.0 requires a Mac computer running OS X v10.9.3 (Mavericks) or later. This version of iOS is intended for installation only on devices registered with the Apple Developer Program. Attempting to install this version of iOS in an unauthorized manner could put your device in an unusable state. For more information and additional support resources, visit http://developer.apple.com/programs/ios/. Bug Reporting For issues not mentioned in the Notes and Known Issues section, please file bugs through the Apple Developer website (https://developer.apple.com/bug‑reporting/ios/).
    [Show full text]
  • Behavioral Non-Portability in Scientific Numeric Computing
    Behavioral Non-portability in Scientific Numeric Computing B B Yijia Gu1( ), Thomas Wahl1, Mahsa Bayati2( ), and Miriam Leeser2 1 College of Computer and Information Science, Northeastern University, Boston, USA {guyijia,wahl}@ccs.neu.edu 2 Department of Electrical and Computer Engineering, Northeastern University, Boston, USA {mbayati,mel}@coe.neu.edu Abstract. The precise semantics of floating-point arithmetic programs depends on the execution platform, including the compiler and the tar- get hardware. Platform dependencies are particularly pronounced for arithmetic-intensive parallel numeric programs and infringe on the highly desirable goal of software portability (which is nonetheless promised by heterogeneous computing frameworks like OpenCL): the same program run on the same inputs on different platforms often produces different results. Serious doubts on the portability of numeric applications arise when these differences are behavioral, i.e. when they lead to changes in the control flow of a program. In this paper we present an algorithm that takes a numeric procedure and determines an input that may lead to different branching decisions depending on how the arithmetic in the procedure is compiled. We illustrate the algorithm on a diverse set of examples, characteristic of scientific numeric computing, where control flow divergence actually occurs across different execution platforms. 1 Introduction Many high performance computing applications make use of floating-point arith- metic. It is well known that floating-point expressions produce different results on different machines, due to lack of associativity, etc. Most practitioners assume that this affects only the last few bits of a computation, and can safely be ignored. In this paper, we present several examples where code run on different platforms on the same inputs can produce not just different results but different control flow.
    [Show full text]
  • Quick Guide to Connectivity and the Resound Smart™ App for Ios Introduction to Resound Smart Hearing™ Aids
    Quick guide to connectivity and the ReSound Smart™ app for iOS Introduction to ReSound Smart Hearing™ aids WHICH RESOUND HEARING AIDS ARE SMART HEARING™ AIDS? Here is a list of Smart Hearing aids from ReSound that work with the ReSound Smart™ app. If you’re not sure, please ask your hearing care professional. ReSound LiNX2™ ReSound LiNX™ ReSound LiNX TS™ ReSound ENZO2™ ReSound Up Smart™ ™ 2 ReSound ENZO Apple devices that work with ReSound Smart Hearing aids ReSound Smart Hearing aids support Made for iPhone (MFi) functionality with the following Apple devices. iPhone 7 Plus iPad Pro (12.9-inch) iPod touch iPhone 7 iPad Pro (9.7-inch) (6th generation) iPhone 6s Plus iPad Air 2 iPod touch iPhone 6s iPad Air (5th generation) iPhone 6 Plus iPad mini 4 iPhone 6 iPad mini 3 iPhone SE iPad mini 2 iPhone 5s iPad mini iPhone 5c iPad (4th generation) iPhone 5 SUPPORT AND UPDATES FOR IOS ReSound Smart Hearing aids require iOS 8 or later. Make sure that the latest version of iOS is installed on the Apple device for best performance. For use with the Apple Watch extension, min. watchOS 2 is required for Apple Watch and iPhone must be running iOS 9 or newer. For the most up-to-date information visit www.resound.com/smartapp 3 Pair with your iPhone, iPad or iPod touch HOW TO PAIR YOUR RESOUND SMART HEARING™ AIDS TO YOUR iPhone, iPad OR iPod touch Check battery Turn on Bluetooth Insert a fresh battery in your ReSound Smart Hearing aid. Keep the battery door open so the Swipe upwards from the bottom of the screen to reveal hearing aid cannot power up.
    [Show full text]