Lively for Qt: a Platform for Mobile Web Applications

Total Page:16

File Type:pdf, Size:1020Kb

Lively for Qt: a Platform for Mobile Web Applications Lively for Qt: A Platform for Mobile Web Applications Tommi Mikkonen Antero Taivalsaari Mikko Terho Tampere University of Technology Sun Microsystems Laboratories Nokia Devices Korkeakoulunkatu 1 P.O. Box 553 (TUT) Visiokatu 3 FI-33720 Tampere, FINLAND FI-33101 Tampere, FINLAND FI-33720 Tampere, FINLAND [email protected] [email protected] [email protected] ABSTRACT variations, it is safe to assume that it will eventually be possible to The convergence of desktop, mobile and web application use the same web applications and services in desktop computers development has resulted in new types of software systems. These and mobile devices. new systems are built to leverage the World Wide Web, and they Given that JavaScript programming language support is included allow the use of dynamically downloaded applications and in every commercial web browser, JavaScript [5] has rapidly services from any type of terminal, including desktop computers become the de facto programming language of the Web. Although and mobile devices. At the same time, the JavaScript language has JavaScript was originally designed as a scripting language – a become the de facto programming language of the Web. In this language targeted to relatively simple scripting tasks – its use has paper we introduce Lively for Qt – a practical JavaScript rapidly spread to “real” programming tasks, serious application application platform that supports the development of highly development and even systems programming. These days, it is not interactive mobile web applications and mashups that run both in uncommon to see JavaScript applications that consist of tens of the web browser and as standalone “phonetop” applications. thousands of lines of code. Additionally, we present our vision for mobile web applications, as well as summarize the experiences and lessons learned during This paper introduces Lively for Qt (http://lively.cs.tut.fi/qt) – a the development of the new system. practical JavaScript application platform that supports the development of compelling, highly interactive mobile web applications and mashups that run both in the web browser and as Categories and Subject Descriptors standalone “phonetop” applications. The system runs on top of Qt D.2.2 [Software Engineering]: Design Tools and Techniques – (http://www.qtsoftware.com/) – a cross-platform application modules and interfaces, software libraries, user interfaces. D.2.6 framework that was recently acquired by Nokia. Versions of the [Software Engineering]: Programming Environments – Qt framework have already been announced for Nokia's device graphical environments, integrated environments, interactive platforms. environments. In addition, we present our vision for mobile web applications, as well as briefly summarize the experiences and lessons learned General Terms during the development of the Lively for Qt system. The work Design, Experimentation, Languages. builds upon our earlier experiences in developing the Sun Labs Lively Kernel (http://research.sun.com/projects/lively) [7, 13] – a Keywords “zero-installation” web application platform that runs in the Web applications, mobile software, Lively for Qt. standard web browser without any installation or plug-in components. The key idea in creating the Lively Kernel was to implement a highly interactive application development 1.INTRODUCTION environment, which – from the end user's viewpoint – is just a The convergence of desktop, mobile and web application web page. Our earlier efforts on porting the Lively Kernel to development has resulted in new types of software systems and mobile devices have been presented in [9]. runtime environments. These new systems are built to leverage the World Wide Web, and they allow applications and other content The Lively for Qt system introduced in this paper is the logical to be downloaded dynamically from the Web. Applications successor of the Sun Labs Lively Kernel in that it implements a commonly run in the web browser and do not necessarily require JavaScript application environment that is capable of hosting Rich any explicit installation. Furthermore, these new systems enable Internet Applications that are fully interactive and malleable; in the use of applications and services from any type of terminal, short, lively. However, a key difference between the two systems including desktop computers and mobile devices. Despite the is that in Lively for Qt we leverage an existing, rich, mature, well- problems that arise from CPU speed differences, memory capacity documented application framework as the basis of the system. In differences, network bandwidth limitations and screen size the Lively Kernel, the development APIs offered by the Permission to make digital or hard copies of all or part of this work for underlying platform (the web browser) were far more limited. personal or classroom use is granted without fee provided that copies Another important difference is the increased focus on mobile are not made or distributed for profit or commercial advantage and that devices. Although the Lively for Qt system can run on a wide copies bear this notice and the full citation on the first page. To copy variety of target platforms, including conventional desktop otherwise, or republish, to post on servers or to redistribute to lists, computers, our goal is to build a practical web application and requires prior specific permission and/or a fee. mashup environment specifically for mobile devices. Mobility 2009, Sep 2-4, Nice, France Copyright © 2009 ACM 978-1-60558-536-9/00/0009……$5.00 The structure of this paper is as follows. Section 2 introduces our 2. Take JavaScript, the world's most widely used dynamic vision for mobile web applications, and provides background and language, and make the graphics APIs available to it; use a general motivation for the rest of the paper. Section 3 provides an modern, high-performance JavaScript virtual machine, so that overview of the Qt application framework, and then introduces the there will be enough power for serious applications. Lively for Qt system. Section 4 introduces some sample 3. Make it easy to access the Web from the platform using applications and discusses the development style associated with them. Sections 5 and 6 discuss related work and revisit the vision asynchronous HTTP networking and other commonly used networking standards; provide JavaScript APIs for processing presented in Section 2 in order to summarize the experiences and lessons learned in the scope of the vision. Finally, Section 7 XML, JSON (JavaScript Object Notation), DOM and other frequently used formats and structures easily. concludes the paper. 4. Add support for mobile-specific JavaScript APIs for areas such 2.A PLATFORM FOR MOBILE WEB as wireless messaging, location, Bluetooth and camera support. Such APIs are familiar, e.g., from the Java ME™ Mobile APPLICATIONS: THE VISION Service Architecture (MSA) Specification [8]. The authors of this paper have considerable experience in designing and building practical application platforms for mobile 5. Make the platform available both inside the web browser and devices. The first author was closely involved in the introduction natively. All the applications should be able to run both inside of the Symbian platform for Nokia devices. The second author the web browser and as “phonetop” applications that behave was the original designer behind the Java ME platform [12] at like native applications. Sun Microsystems. The third author was the co-lead of the 6. Add a fine-grained security model so that network-downloaded original Nokia Communicator project – the very first smartphone applications can be executed safely; provide minimal access to in the world. APIs for those applications that are downloaded from We believe that next-generation mobile application platforms will untrusted sources, and more extensive access to APIs for be built to leverage the Web from the very beginning. Unlike the applications from trusted sources. earlier mobile application platforms, in which applications were Although our vision above revolves heavily around web delivered mainly in binary (native) form, in the future applications technologies, we believe that the development style used in the will be downloaded dynamically and used without explicit new platform should not be based purely on declarative web installation. Applications can be deployed instantly worldwide. technologies such as HTML or CSS. Rather, there is a need for Ideally, applications should simply run in the web browser, or a procedural development style and programmatic APIs as well. similar web client environment that has been specifically tailored Currently, the JavaScript APIs offered by the web browser are still for mobile devices; the applications should be fully compatible extremely limited compared to APIs offered by mature software with full-fledged web applications running in desktop web platforms such as Microsoft Windows or MacOS X. The APIs are browsers. also very limited compared with the APIs of mature mobile Unfortunately, there are still major obstacles in creating a software platforms such as the Symbian OS or the Java ME platform that realizes the “One Web” objective advocated by the platform. The need for rich, mature, well-documented APIs World Wide Web Consortium [10]. Even though it is fairly safe to supporting a procedural programming style is largely why we assume that eventually the same web applications and services have chosen the Qt framework as
Recommended publications
  • THE FUTURE of SCREENS from James Stanton a Little Bit About Me
    THE FUTURE OF SCREENS From james stanton A little bit about me. Hi I am James (Mckenzie) Stanton Thinker / Designer / Engineer / Director / Executive / Artist / Human / Practitioner / Gardner / Builder / and much more... Born in Essex, United Kingdom and survived a few hair raising moments and learnt digital from the ground up. Ok enough of the pleasantries I have been working in the design field since 1999 from the Falmouth School of Art and onwards to the RCA, and many companies. Ok. less about me and more about what I have seen… Today we are going to cover - SCREENS CONCEPTS - DIGITAL TRANSFORMATION - WHY ASSETS LIBRARIES - CODE LIBRARIES - COST EFFECTIVE SOLUTION FOR IMPLEMENTATION I know, I know, I know. That's all good and well, but what does this all mean to a company like mine? We are about to see a massive change in consumer behavior so let's get ready. DIGITAL TRANSFORMATION AS A USP Getting this correct will change your company forever. DIGITAL TRANSFORMATION USP-01 Digital transformation (DT) – the use of technology to radically improve performance or reach of enterprises – is becoming a hot topic for companies across the globe. VERY DIGITAL CHANGING NOT VERY DIGITAL DIGITAL TRANSFORMATION USP-02 Companies face common pressures from customers, employees and competitors to begin or speed up their digital transformation. However they are transforming at different paces with different results. VERY DIGITAL CHANGING NOT VERY DIGITAL DIGITAL TRANSFORMATION USP-03 Successful digital transformation comes not from implementing new technologies but from transforming your organisation to take advantage of the possibilities that new technologies provide.
    [Show full text]
  • HCI Lessons Using AJAX for a Page-Turning Web Application
    CHI 2011 • Session: Reading & Writing May 7–12, 2011 • Vancouver, BC, Canada Bells, Whistles, and Alarms: HCI Lessons Using AJAX for a Page-turning Web Application Juliet L. Hardesty Abstract User Interface Design Specialist This case study describes creating a version of METS Digital Library Program Navigator, a page-turning web application for multi- Indiana University part digital objects, using an AJAX library with user Herman B Wells Library, W501 interface components. The design for this version 1320 E. 10th Street created problems for customized user interactions and Bloomington, IN 47405 USA accessibility problems for users, including those using [email protected] assistive technologies and mobile devices. A review of the literature considers AJAX, accessibility, and universal usability and possible steps to take moving forward to correct these problems in METS Navigator. Keywords AJAX, accessibility, universal usability ACM Classification Keywords H.5.2. Information interfaces and presentation: User interfaces - user-centered design, standardization. General Terms Design, human factors, standardization Copyright is held by the author/owner(s). CHI 2011, May 7–12, 2011, Vancouver, BC, Canada. Introduction ACM 978-1-4503-0268-5/11/05. AJAX (Asynchronous JavaScript and XML) is a widely used method for developing Web 2.0 applications 827 CHI 2011 • Session: Reading & Writing May 7–12, 2011 • Vancouver, BC, Canada (called Rich Internet Applications, or RIA’s), both to incorporate the Semantic Web into Web 2.0 enhance certain features
    [Show full text]
  • A World of Active Objects for Work and Play: the First Ten Years of Lively
    A World of Active Objects for Work and Play The First Ten Years of Lively Daniel Ingalls Tim Felgentreff Robert Hirschfeld Y Combinator Research Hasso Plattner Institute Hasso Plattner Institute, Potsdam, San Francisco, CA, USA Potsdam, Germany Germany [email protected] [email protected] [email protected] Robert Krahn Jens Lincke Marko Roder¨ Y Combinator Research Hasso Plattner Institute Y Combinator Research San Francisco, CA, USA Potsdam, Germany San Francisco, CA, USA [email protected] [email protected] [email protected] Antero Taivalsaari Tommi Mikkonen Nokia Technologies Tampere University of Technology Tampere, Finland Tampere, Finland [email protected] tommi.mikkonen@tut.fi Abstract Keywords Web programming, Software as a Service, Live The Lively Kernel and the Lively Web represent a continu- Object System, Lively Kernel, Lively Web, Lively, JavaScript, ing effort to realize a creative computing environment in the Morphic context of the World Wide Web. We refer to that evolving system simply as Lively. Lively is a live object computing 1. Live Object Systems environment implemented using JavaScript and other tech- Lively [12] is a live object system which provides a web niques available inside the browser. When first built in 2006, programming and authoring system to its users. By live ob- it was a grand accomplishment to have created such a sys- jects we mean entities that can usually be seen, touched, and tem that would run in any web browser and that could be moved and that will react in a manner prescribed by some set saved and loaded simply as a web page.
    [Show full text]
  • IADIS Conference Template
    www.seipub.org/ie Information Engineering (IE) Volume 3, 2014 Performance and Quality Evaluation of jQuery Javascript Framework Andreas Gizas, Sotiris P. Christodoulou, Tzanetos Pomonis HPCLab, Computer Engineering & Informatics Dept., University of Patras Rion, Patras Received Jun 10, 2013; Revised Jun 21, 2013; Accepted Mar 12, 2014; Published Jun 12, 2014 © 2014 Science and Engineering Publishing Company Abstract devices. Mobile web is the name of this new field of The scope of this work is to provide a thorough web applications and JavaScript is expected to play a methodology for quality and performance evaluation of the major role in its development with the evolution of most popular JavaScript framework, the jQuery Framework, new devices and standards (ex. iPhone, Android) or as by taking into account well established software quality the heart of cross platform applications (like factors and performance tests. The JavaScript programming phonegap.com). There are also proposals for language is widely used for web programming and employing JavaScript in server-side applications increasingly, for general purpose of computing. Since the (Server-Side JavaScript Reference v1.2). growth of its popularity and the beginning of web 2.0 era, many JavaScript frameworks have become available for Due to the plethora of applications that JavaScript programming rich client-side interactions in web serves and the variety of programming needs, applications. The jQuery project and its community serve frameworks have been created in order to help both today as a major part of web programmers. The main programmers and end-users. These frameworks aim to outcome of this work is to highlight the pros and cons of be a useful tool for simplifying JavaScript code jQuery in various areas of interest and signify which and development and repeat blocks of code by using just a where the weak points of its code are.
    [Show full text]
  • University of Southampton Research Repository Eprints Soton
    University of Southampton Research Repository ePrints Soton Copyright © and Moral Rights for this thesis are retained by the author and/or other copyright owners. A copy can be downloaded for personal non-commercial research or study, without prior permission or charge. This thesis cannot be reproduced or quoted extensively from without first obtaining permission in writing from the copyright holder/s. The content must not be changed in any way or sold commercially in any format or medium without the formal permission of the copyright holders. When referring to this work, full bibliographic details including the author, title, awarding institution and date of the thesis must be given e.g. AUTHOR (year of submission) "Full thesis title", University of Southampton, name of the University School or Department, PhD Thesis, pagination http://eprints.soton.ac.uk UNIVERSITY OF SOUTHAMPTON FACULTY OF NATURAL AND ENVIRONMENTAL SCIENCES Chemistry Facilitating Chemical Discovery: An e-Science Approach by Andrew J. Milsted Thesis for the degree of Doctor of Philosophy February 2015 UNIVERSITY OF SOUTHAMPTON ABSTRACT FACULTY OF NATURAL AND ENVIRONMENTAL SCIENCES Chemistry Doctor of Philosophy FACILITATING CHEMICAL DISCOVERY: AN E-SCIENCE APPROACH by Andrew J. Milsted e-Science technologies and tools have been applied to the facilitating of the accumulation, validation, analysis, computation, correlation and dissemination of chemical information and its transformation into accepted chemical knowledge. In this work a number of approaches have been investigated to address the different issues with recording and preserving the scientific record, mainly the laboratory notebook. The electronic laboratory notebook (ELN) has the potential to replace the paper note- book with a marked-up digital record that can be searched and shared.
    [Show full text]
  • Towards Secure and Reusable Web Applications
    Mashups and Modularity: Towards Secure and Reusable Web Applications Antero Taivalsaari Tommi Mikkonen Sun Microsystems Laboratories [email protected] http://research.sun.com/projects/lively 2 Evolution of the Web 1) Simple pages with text and static images only (e.g., http://www.google.com) 2) Animated pages with plug-ins (e.g., http://www.cadillac.com) 3) Rich Internet Applications (e.g., docs.google.com) What's Next? 3 Web Applications – Implications • Web-based software will dramatically change the way people develop, deploy and use software. • No more installations! > Applications will simply run off the Web. • No more upgrades! > Always run the latest application version. • Instant worldwide deployment! > No middlemen or distributors needed. • No CPU dependencies, OS dependencies, ... > The Web is the Platform. 4 Unfortunately... • The web browser was not designed for running real applications. > It was designed in the early 1990s for viewing documents, forms and other page-structured artifacts – not applications. > Programming capabilities on the web were an afterthought, not something inherent in the design of the browser. • Various Rich Internet Application (RIA) technologies have been introduced recently to retrofit application execution capabilities into the web browser. 5 Web Development vs. Conventional Software The Impedance Mismatch Web Development Conventional SW Development - Documents - Applications - Page / form oriented interaction - Direct manipulation - Managed graphics, static layout - Directly drawn, dynamic
    [Show full text]
  • AI Based RSS Feed Aggregator
    1 MyFIDO: AI Based RSS Feed Aggregator Using Natural Language Processing and Other Artificial Intelligence Techniques To Make Suggestions Based on Observed User Interests TERESA NICOLE BROOKS Facilitated By: PROFESSOR PAUL BENJAMIN Pace University Fall 2008 – Fall 2009 2 Table of Contents Introduction: About MyFido Section 1: Project Objective 1.1 Basic System Functionality • The “Observer” Component • The “Context Analyzer” Component • The “Fetch” Component 1.2 Testing Methodology & Evaluating Effectiveness of System • Testing • Note Regarding System Design Section 2: What Is Natural Language Processing? 2.1 About Natural Language Processing (NLP) • History of Natural Language Processing 2.2 Applications of NLP • Examples of NLP Applications • Keep The Domain Small Stupid: Scope and Knowledge Domain Management • What's An Operating System?: Giving Software The Ability to Analyze The Context and “Meaning” of Text • Software Doesn't Have Eyes: Observing user interests and analyzing the structure of a web page • I Know What You Like: Making Suggestions To Users Based on Observed Interests • Selecting Suggested Articles Section 3: Technologies & Tools 3.1 Natural Language Processing Tools • Natural Language Processing APIs: OpenNLP • String Metrics Library : SimMetrics • JGraphT • WordNet • WordNet Interfaces 3.2 Other Technologies • MozSwing • HTMLParser • Rome • MigLayout Section 4: My Fido: System Architecture 4.1 System Components (Overview) • Brief Description of Major System Component's Responsibilities • Brief Description of Knowledge
    [Show full text]
  • Dave Crane Eric Pascarello with Darren James
    Dave Crane Eric Pascarello with Darren James MANNING Ajax in Action Ajax in Action DAVE CRANE ERIC PASCARELLO WITH DARREN JAMES MANNING Greenwich (74° w. long.) For online information and ordering of this and other Manning books, please go to www.manning.com. The publisher offers discounts on this book when ordered in quantity. For more information, please contact: Special Sales Department Manning Publications Co. 209 Bruce Park Avenue Fax: (203) 661-9018 Greenwich, CT 06830 email: [email protected] ©2006 by Manning Publications Co. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by means electronic, mechanical, photocopying, or otherwise, without prior written permission of the publisher. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in the book, and Manning Publications was aware of a trademark claim, the designations have been printed in initial caps or all caps. Recognizing the importance of preserving what has been written, it is Manning’s policy to have the books they publish printed on acid-free paper, and we exert our best efforts to that end. Manning Publications Co. Copyeditor: Liz Welch 209 Bruce Park Avenue Typesetter: Denis Dalinnik Greenwich, CT 06830 Cover designer: Leslie Haimes ISBN 1-932394-61-3 Printed in the United States of America 1 2 3 4 5 6 7 8 9 10 – VHG – 09 08 07 06 05 To Hermes, Apollo, Athena, and my cats, for their wisdom —D.C. To my wife; I’m surprised you said yes —E.P.
    [Show full text]
  • Liquid Web Applications
    Liquid Web Applications Design and Implementation of the Decentralized Cross-Device Web Doctoral Dissertation submitted to the Faculty of Informatics of the Università della Svizzera Italiana in partial fulfillment of the requirements for the degree of Doctor of Philosophy presented by Andrea Gallidabino under the supervision of Prof. Cesare Pautasso June 2020 Dissertation Committee Prof. Maristella Matera Politecnico di Milano, Italy Prof. Tommi Mikkonen University of Helsinki, Finland Prof. Marc Langheinrich Università della Svizzera italiana, Lugano, Switzerland Prof. Michele Lanza Università della Svizzera italiana, Lugano, Switzerland Dissertation accepted on 25 June 2020 Research Advisor PhD Program Director Prof. Cesare Pautasso Prof. Dr. Walter Binder, Prof. Dr. Silvia Santini i I certify that except where due acknowledgement has been given, the work presented in this thesis is that of the author alone; the work has not been submit- ted previously, in whole or in part, to qualify for any other academic award; and the content of the thesis is the result of work which has been carried out since the official commencement date of the approved research program. Andrea Gallidabino Lugano, 25 June 2020 ii Learn this lesson, that to be self-contented is to be vile and ignorant, and to aspire is better than to be blindly and impotently happy. Edwin A. Abbott iii iv Abstract Web applications are traditionally designed having in mind a server-centric ar- chitecture, whereby the whole persistent data, dynamic state and logic of the application are stored and running on a Web server. The clients running in the Web browsers traditionally render only pre-computed views fetched from the server.
    [Show full text]
  • Download Original Attachment
    ELLESMERE PORT AND NESTON BOROUGH COUNCIL LOCAL GOVERNMENT REVIEW IN CHESHIRE RESPONSE BY WEB LABS LTD TO FUNCTIONAL SPECIFICATION FOR A CONTENT MANAGEMENT SOLUTION TO SUPPORT THE DELIVERY OF CORPORATE WEB SITES CONTENTS 1. MANAGEMENT SUMMARY 3 2. WEB LABS LTD - PROFILE 4 3. REFERENCE ACCOUNTS 10 4 FUNCTIONAL REQUIREMENTS 14 5 EVALUATION CRITERIA 23 6. OUTLINE PROJECT PLAN 24 7. DRAFT SERVICE LEVEL AGREEMENT 26 8. WEB LABS TURNOVER 30 9. HEALTH & SAFETY POLICY 30 10. EQUAL OPPORTUNITIES POLICY 30 LEGAL FORMS FOR COMPLETION 31 1. MANAGEMENT SUMMARY Thank you for the opportunity to tender for the provision of software and services to underpin your web sites and Intranet. We are pleased to inform you that there are no items in your tender document to which we cannot comply and do not already have considerable experience implementing with other Local Authorities. We have proposed two of our enterprise systems software products * Content-Master - Enterprise Content Management System and • Forms Master – Enterprise e-Forms System To meet your requirements as specified These software products were designed, developed and supported by Web Labs and have been installed with over 90 Public Sector clients some of which have the largest web site traffic in the UK In addition we have many proven software applications (overviewed in the Web Labs Profile) designed in conjunction with other Local Authorities that could be of considerable benefit to implementing your web site and intranet quickly and cost effectively. As our management, development and support staff are all based in the UK we all have considerable experience of Local Government and our policies and shaped by the UK Public Sector market and we are always directly available to our customers.
    [Show full text]
  • FACS-STIP User Guide
    FACS-STIP User Guide Traffi c-Roadway Section | Delivery & Operations Division August 2020 Traffic-Roadway Section FACS-STIP User Guide Oregon Department of Transportation Delivery & Operations Division – Engineering & Technical Services Branch Traffic-Roadway Section 4040 Fairview Industrial Dr. SE MS#5 Salem, Oregon 97302-1142 503.986.3568 http://gisintra.odot.state.or.us/facsstip/ August 2020 page 2 Traffic-Roadway Section FACS-STIP User Guide Table of Contents Introduction ................................................................................................................................ 4 Overview of the FACS-STIP Tool ...................................................................................................... 5 Map Tool ....................................................................................................................................14 Data to Go ..................................................................................................................................16 FACS-STIP Data to Go-Map Tool ................................................................................................ 18 FACS-STIP Data to Go-Form Tool ............................................................................................... 23 FACS-STIP Asset Report ............................................................................................................... 31 Asset Reports .............................................................................................................................37
    [Show full text]
  • Restraining Technical Debt When Developing Large-Scale Ajax Applications
    WEB 2013 : The First International Conference on Building and Exploring Web Based Environments Restraining technical debt when developing large-scale Ajax applications Yoav Rubin, Shmuel Kallner, Nili Guy, Gal Shachor IBM Research - Haifa Haifa University Campus Haifa, Israel {yoav, kallner, ifergan , shachor}@il.ibm.com Abstract - Addressing technical debt during the software automatic refactoring transformations on code written in a development process relies heavily on a refactoring phase, in dynamic language such as Ruby [10] or JavaScript [11]. which automatic code transformations are used as a crucial Each such tool tried to overcome the lack of type mechanism to reduce a system's technical debt. However, information, which is essential for correct refactoring automatic refactoring is not an option when developing Ajax transformations [5], by using other sources of information. applications. Therefore, an approach that restrains the accumulation of a system's technical debt is needed. In this In the refactoring of Smalltalk codebase, the automatic tool paper, we present and evaluate such an approach and its used a combination of test-cases, results of dynamic reification as a framework. We conclude that our proposed analysis, and method wrappers [6]. Another technique is framework enables restraining technical debt in a large-scale static pointer analysis, which was the vehicle that drove Ajax application without the need for automatic code automatic refactoring in JavaScript codebases [9]. Another refactoring tools. strategy was to rely not only on the analysis of a project's codebase, but rather on additional information provided by Keywords: software engineering; dynamic languages; code the developers, as was done in a Ruby codebase refactoring reuse; technical debt; Ajax mechanism [8].
    [Show full text]