Course 2: «Open Source Software (OSS) Engineering Data»

Total Page:16

File Type:pdf, Size:1020Kb

Course 2: «Open Source Software (OSS) Engineering Data» Course 2: «Open Source Software (OSS) Engineering Data». 1st Day: Metrics and Tools for Software Engineering in Open Source Software 1. Open Software / Hardware Technologies: Introduction to Open Source Software and related technologies. 2. Software Engineering FLOSS: Free Libre Open Source Software in Software Engineering. 3. Metrics for Open Source Software: product and project metrics and related tooling. 2nd Day: Research based on Open Source Software Data 4. Facilitating Metric for White-Box Reuse: we will discuss a metric derived from the analysis of Open Source Project which facilitates the white-box reuse (reuse based on the source code analysis). 5. Extracting components from Open-Source: The Component Adaptation Environment Approach (COPE): we will discuss the results of the OPEN-SME EU Research Project and in particular the COPE tool for extracting reusable components from Open Source Software. 6. Software Engineering Research based on Open Source Software Data: Data, A recent example: we will discuss a recent study of open source repository mailing lists for deriving implications for the evolution of an open source project. 7. Improving Component Coupling Information with Dynamic Profiling: we will discuss how dynamic profiling of an open source program can contribute towards its comprehension. In various points during the lectures students will be asked to carry out activities. Open Software / Hardware Technologies Ioannis Stamelos, Professor Nikolaos Konofaos, Associate Professor School of Informatics Aristotle University of Thessaloniki George Kakarontzas, Assistant Professor University of Thessaly 2018-2019 1 F/OSS - FLOSS Definition ● The traditional SW development model asks for a “closed member” team that develops proprietary source code. ● FLOSS is an alternative model for developing, distributing and using software ● A FLOSS software provides three basic “freedoms” to its user: Use the software at his own will (as he wishes) Copy it and distribute copies as many times as he wants Change it and distribute the changes as he wants ● The above freedoms need the source code to be openly available 2018-2019 2 Free Software ● Free Software Foundation, under the leadership of Richard Stallman (http://www.fsf.org) ● Free software license cover the three freedoms mentioned above ● Free has to do with the freedom of using the source code ● “Free as in freedom, not as free beer” 2018-2019 3 Open Source Software ● Open Source Software is similar to Free Software (http://www.opensource.org) ● License addresses more issues: Single programmer’s code integrity Distribution of new developments Obligation to avoid bans over specific populations ... For more, read on the link above... 2018-2019 4 2018-2019 5 Development Process (1) ● Different than traditional software development approaches (e.g. Waterfall model) ● Considered as similar to a kind of “extreme spiral model”, extreme programming or other agile methods ● None of the above can accurately represent the F/OSS development process: they neglect the fact that the code is open to everyone 2018-2019 6 Development Process (2) ● In a typical scenario, an individual has a problem as a computer user that he wants to solve (has a “personal itch”): – Wants a brand new app – Wants a non-commercial app – Existing commercial or F/OSS apps are not satisfactory ● He produces an initial version and opens the code with an appropriate license 2018-2019 7 Development Process (3) ● In case there is interest around the project, people start using it, reporting issues and sending new pieces of code (commits) ● The coordinator (or the coordination team), typically the original programmer(s) integrate the add-ons and produce new releases, openly available on the Internet ● This cyclic procedure repeats as long as the project is alive, i.e. there are interested users and developers that support it 2018-2019 8 Development Process (4) ● The most significant advantage is the availability of a multitude of volunteers who develop and inspect continuously the source code (“peer review”) ● Because of the numbers of users/developers finding/fixing bugs and releasing the new code is fast, much faster than with closed code and closed teams. This fact is epitomized with “given enough eyeballs, all bugs are shallow” (Raymond) ● This type of collaborative and open development has produced dedicated software tools that have been adopted by traditional teams as well (CVS/SVN/GIT, Bugzilla etc) 2018-2019 9 F/OSS today ● Several modern F/OSS projects (e.g. ODOO, Alfresco, SugarCRM) are hybrid, meaning in general that: – The project is initiated by a company or the community has evolved into a company – There is an open sourced core (community) version, and a commercial (enterprise) edition – There are paid services over the code (installation, training, parameterization, adaptation, training, support, etc) 2018-2019 10 Known F/OSS projects (1) ● The flagship OS: The Linux Kernel, also Android (~80% open sourced). MacOS is open since some months ● Web servers: Apache Web Server, ~50% globally, also nginx ~20% ● PC Software: Thunderbird, Webmail – Firefox, Chromium – LibreOffice/OpenOffice - VLC ● RDBMS: MySQL, PostgreSQL. Surprisingly, also SAPDB 2018-2019 11 Known F/OSS projects (2) ● Programming: Perl, Python, PHP, Java (since some years) ● The known LAMP of software development: – Linux – Apache http Server – MySQL – Perl/Python/ PhP ● ... 2018-2019 12 Where F/OSS resides ● On self managed web sites (e.g. Apache.org) ● Collectively, in forges: SourceForge Github RubyForge, Tigris.org, BountySource, Launchpad, BerliOS, JavaForge, GNU Savannah, Gitorious... 2018-2019 13 Some current statistics on GitHub ● https://octoverse.github.com/ 2018-2019 14 People Location 2018-2019 15 Repositories 2018-2019 16 Advantages ● Interoperability ● Ease of extension ● Transparency ● Security (!?), Reliability ● Cost savings (zero acquisition cost, free updates, reduced vendor lock-in risk) 2018-2019 17 Drawbacks - Weaknesses ● Development continuum is not guaranteed (however the same issue appears in closed source as well) ● Possibility of forking ● Hard to assess the maturity of a specific FLOSS project ● Lack of usability (in recent years this issue has been addressed in many cases) ● Possibility of lack of support 2018-2019 18 Open Source Issue Survey: GitHub Incomplete or confusing documentation: ~90% Unresponsiveness: ~80% Dismissive responses: ~55% Conflict: ~45% Unexplained rejection: ~30% Unwelcoming language or content: ~15% 2018-2019 19 Open Source criticism ● "Ubuntu Spyware: What to do?", από τον Richard Stallman: https://www.fsf.org/blogs/rms/ubuntu-spyware-what-to-do ● Lennart Poettering statement about open source communities: https://plus.google.com/+LennartPoetteringTheOneAndOnly/posts/J2TZrTvu7vd ● Criticism on "given enough eyeballs, all bugs are shallow", from Bob Glass: http://books.google.gr/books?id=3Ntz-UJzZN0C&pg=PA174&redir_esc=y#v=onepage&q&f=fals e 2018-2019 20 Technical Infrastructure: web site ● Open source projects should have two different websites: – A user website – A developers’ website ● These two websites contain different types of information and serve different purposes. ● There should be a way to reach the developers’ website from the user oriented website. ● An example are the LibreOffice users’ website (top) and developers’ website (bottom). 2018-2019 21 Technical Infrastructure: “Canned” Hosting ● A “canned” hosting site offers most of the necessary collaboration tools for an open source project. For example it could offer some or all of the following: – Public version control repositories – Bug tracking – Wiki space – Mailing list hosting – Continuous integration testing and other services. ● For many projects, canned hosting is an adequate and perfectly acceptable solution. ● The most popular such service today is GitHub (https://github.com/) 2018-2019 22 Technical Infrastructure: Mailing Lists/Forums ● Mailing lists or forums refer to message-based communication platforms where posts are organized in threads (i.e. topics). ● Users can subscribe and create posts and get notified when answers become available. ● Usually there is web-based access to old messages and searching facilities. ● Some things to consider when choosing a mailing list/forum solution: – It should provide mail and web-based access – It should provide spam checking and moderation capabilities – It should provide archiving and searching 2018-2019 23 Technical infrastructure: forum software ● Discourse — https://discourse.org/ – You can install it yourself. Provides both mail and web interfaces. Commercial support is available but it is open source software. ● Google Groups — https://groups.google.com/ – Not an open source service. Provides searchable archives, moderation and spam-prevention as well as both mail and web access. ● And many others: – GroupServer — http://groupserver.org/ – Sympa — https://www.sympa.org/ – Mailman — http://www.list.org/ 2018-2019 24 Technical infrastructure: version control ● Version control system is a system which allows of tracking and controlling changes on project’s files. Particularly the project’s source code but also other files (e.g. web pages). ● Currently the most used version control system is Git (usually hosted at GitHub): https://git-scm.com/ ● Other options include the following: – Mercurial: https://www.mercurial-scm.org/ – Subversion: https://subversion.apache.org/ 2018-2019 25 Technical infrastructure: bug tracker ● A more generic platform than
Recommended publications
  • 50109195.Pdf
    UNIVERSIDAD DE EL SALVADOR FACULTAD MULTIDISCIPLINARIA ORIENTAL DEPARTAMENTO DE INGENIERÍA Y ARQUITECTURA TRABAJO DE GRADO: IMPACTO DEL SOFTWARE LIBRE EN LAS INSTITUCIONES DE EDUCACIÓN MEDIA DEL MUNICIPIO DE SAN MIGUEL DURANTE EL AÑO 2019 Y CREACIÓN DE PLATAFORMA VIRTUAL PARA EL REGISTRO DE DICHA INFORMACIÓN. PARA OPTAR AL TÍTULO DE: INGENIERO DE SISTEMAS INFORMÁTICOS PRESENTADO POR: EVER FERNANDO ARGUETA CONTRERAS. ROBERTO CARLOS CÁRDENAS RAMÍREZ. GERSON ALEXANDER SANDOVAL GUERRERO. DOCENTE ASESOR: INGENIERO LUIS JOVANNI AGUILAR CIUDAD UNIVERSITARIA ORIENTAL, 11 DE SEPTIEMBRE DE 2020 SAN MIGUEL, EL SALVADOR, CENTRO AMÉRICA UNIVERSIDAD DE EL SALVADOR AUTORIDADES Msc. ROGER ARMANDO ARIAS RECTOR PhD. RAÚL ERNESTO AZCÚNAGA LÓPEZ VICERECTOR ACADÉMICO INGENIERO JUAN ROSA QUINTANILLA VICERECTOR ADMINISTRATIVO INGENIERO FRANCISCO ALARCÓN SECRETARIO GENERAL LICENCIADO RAFAEL HUMBERTO PEÑA MARÍN FISCAL GENERAL LICENCIADO LUIS ANTONIO MEJÍA LIPE DEFENSOR DE LOS DERECHOS UNIVERSITARIOS FACULTAD MULTIDISCIPLINARIA ORIENTAL AUTORIDADES LICENCIADO CRISTÓBAL HERNÁN RÍOS BENÍTEZ DECANO LICENCIADO OSCAR VILLALOBOS VICEDECANO LICENCIADO ISRRAEL LÓPEZ MIRANDA SECRETARIO INTERINO LICENCIADO JORGE PASTOR FUENTES CABRERA DIRECTOR GENERAL DE PROCESOS DE GRADUACIÓN DEPARTAMENTO DE INGENIERIA Y ARQUITECTURA AUTORIDADES INGENIERO JUAN ANTONIO GRANILLO COREAS. JEFE DEL DEPARTAMENTO. INGENIERA LIGIA ASTRID HERNANDEZ BONILLA COORDINADORA DE LA CARRERA DE INGENIERIA EN SISTEMAS INFORMATICOS INGENIERA MILAGRO DE MARÍA ROMERO DE GARCÍA COORDINADORA DE PROCESOS DE GRADUACIÓN TRIBUNAL EVALUADOR INGENIERO LUIS JOVANNI AGUILAR JURADO ASESOR INGENIERO LUDWIN ALDUVÍ HERNÁNDEZ VÁSQUEZ DOCENTE JURADO CALIFICADOR INGENIERA LIGIA ASTRID HERNANDEZ BONILLA DOCENTE JURADO CALIFICADOR AGRADECIMIENTOS A DIOS: Por darme la oportunidad de vivir y por haberme dado la sabiduría para poder culminar mis estudios y por fortalecer mi corazón e iluminar mi mente, por haber puesto en mi camino a aquellas personas que han sido mi soporte y compañía durante todo el periodo de estudio.
    [Show full text]
  • Administrator Guide Company
    PUBLIC SAP Information Steward Document Version: 4.2 Support Package 12 (14.2.12.0) – 2019-05-23 Administrator Guide company. All rights reserved. All rights company. affiliate THE BEST RUN 2019 SAP SE or an SAP SE or an SAP SAP 2019 © Content 1 Welcome.................................................................. 9 2 Accessing Information Steward for administrative tasks............................. 10 3 Architecture............................................................... 11 3.1 Information Steward architecture overview.......................................... 11 Servers and services........................................................13 SAP BusinessObjects BI platform.............................................. 13 SAP BI platform components usage.............................................14 SAP Data Services components usage...........................................16 Web application server......................................................17 Services................................................................19 Metadata integrators.......................................................23 3.2 Distributed architecture....................................................... 24 Component communication channels...........................................25 Port assignments......................................................... 26 DSN-less and TNS-less connections............................................26 3.3 SAP integration............................................................. 27 3.4 Information workflows.......................................................
    [Show full text]
  • Letter, If Not the Spirit, of One Or the Other Definition
    Producing Open Source Software How to Run a Successful Free Software Project Karl Fogel Producing Open Source Software: How to Run a Successful Free Software Project by Karl Fogel Copyright © 2005-2021 Karl Fogel, under the CreativeCommons Attribution-ShareAlike (4.0) license. Version: 2.3214 Home site: https://producingoss.com/ Dedication This book is dedicated to two dear friends without whom it would not have been possible: Karen Under- hill and Jim Blandy. i Table of Contents Preface ............................................................................................................................. vi Why Write This Book? ............................................................................................... vi Who Should Read This Book? ..................................................................................... vi Sources ................................................................................................................... vii Acknowledgements ................................................................................................... viii For the first edition (2005) ................................................................................ viii For the second edition (2021) .............................................................................. ix Disclaimer .............................................................................................................. xiii 1. Introduction ...................................................................................................................
    [Show full text]
  • Jedit: Isabelle/Jedit
    jEdit ∀ = Isabelle α λ β → Isabelle/jEdit Makarius Wenzel 5 December 2013 Abstract Isabelle/jEdit is a fully-featured Prover IDE, based on Isabelle/Scala and the jEdit text editor. This document provides an overview of general principles and its main IDE functionality. i Isabelle's user interface is no advance over LCF's, which is widely condemned as \user-unfriendly": hard to use, bewildering to begin- ners. Hence the interest in proof editors, where a proof can be con- structed and modified rule-by-rule using windows, mouse, and menus. But Edinburgh LCF was invented because real proofs require millions of inferences. Sophisticated tools | rules, tactics and tacticals, the language ML, the logics themselves | are hard to learn, yet they are essential. We may demand a mouse, but we need better education and training. Lawrence C. Paulson, \Isabelle: The Next 700 Theorem Provers" Acknowledgements Research and implementation of concepts around PIDE and Isabelle/jEdit has started around 2008 and was kindly supported by: • TU M¨unchen http://www.in.tum.de • BMBF http://www.bmbf.de • Universit´eParis-Sud http://www.u-psud.fr • Digiteo http://www.digiteo.fr • ANR http://www.agence-nationale-recherche.fr Contents 1 Introduction1 1.1 Concepts and terminology....................1 1.2 The Isabelle/jEdit Prover IDE..................2 1.2.1 Documentation......................3 1.2.2 Plugins...........................4 1.2.3 Options..........................4 1.2.4 Keymaps..........................5 1.2.5 Look-and-feel.......................5 2 Prover IDE functionality7 2.1 File-system access.........................7 2.2 Text buffers and theories....................8 2.3 Prover output..........................9 2.4 Tooltips and hyperlinks....................
    [Show full text]
  • Open Source Software 101
    What Every Attorney Needs to Know About Open Source Licenses and Their Obligations: Open Source Software 101 2020 Edition LawPracticeCLE Unlimited All Courses. All Formats. All Year. ABOUT US LawPracticeCLE is a national continuing legal education company designed to provide education on current, trending issues in the legal world to judges, attorneys, paralegals, and other interested business professionals. New to the playing eld, LawPracticeCLE is a major contender with its oerings of Live Webinars, On-Demand Videos, and In-per- son Seminars. LawPracticeCLE believes in quality education, exceptional customer service, long-lasting relationships, and networking beyond the classroom. We cater to the needs of three divisions within the legal realm: pre-law and law students, paralegals and other support sta, and attorneys. WHY WORK WITH US? At LawPracticeCLE, we partner with experienced attorneys and legal professionals from all over the country to bring hot topics and current content that are relevant in legal practice. We are always looking to welcome dynamic and accomplished lawyers to share their knowledge! As a LawPracticeCLE speaker, you receive a variety of benets. In addition to CLE teaching credit attorneys earn for presenting, our presenters also receive complimentary tuition on LawPracticeCLE’s entire library of webinars and self-study courses. LawPracticeCLE also aords expert professors unparalleled exposure on a national stage in addition to being featured in our Speakers catalog with your name, headshot, biography, and link back to your personal website. Many of our courses accrue thousands of views, giving our speakers the chance to network with attorneys across the country. We also oer a host of ways for our team of speakers to promote their programs, including highlight clips, emails, and much more! If you are interested in teaching for LawPracticeCLE, we want to hear from you! Please email our Directior of Operations at [email protected] with your information.
    [Show full text]
  • Elements of Free and Open Source Licenses: Features That Define Strategy
    Elements Of Free And Open Source Licenses: Features That Define Strategy CAN: Use/reproduce: Ability to use, copy / reproduce the work freely in unlimited quantities Distribute: Ability to distribute the work to third parties freely, in unlimited quantities Modify/merge: Ability to modify / combine the work with others and create derivatives Sublicense: Ability to license the work, including possible modifications (without changing the license if it is copyleft or share alike) Commercial use: Ability to make use of the work for commercial purpose or to license it for a fee Use patents: Rights to practice patent claims of the software owner and of the contributors to the code, in so far these rights are necessary to make full use of the software Place warranty: Ability to place additional warranty, services or rights on the software licensed (without holding the software owner and other contributors liable for it) MUST: Incl. Copyright: Describes whether the original copyright and attribution marks must be retained Royalty free: In case a fee (i.e. contribution, lump sum) is requested from recipients, it cannot be royalties (depending on the use) State changes: Source code modifications (author, why, beginning, end) must be documented Disclose source: The source code must be publicly available Copyleft/Share alike: In case of (re-) distribution of the work or its derivatives, the same license must be used/granted: no re-licensing. Lesser copyleft: While the work itself is copyleft, derivatives produced by the normal use of the work are not and could be covered by any other license SaaS/network: Distribution includes providing access to the work (to its functionalities) through a network, online, from the cloud, as a service Include license: Include the full text of the license in the modified software.
    [Show full text]
  • Extensions Vs
    Confidential Information Notice Copyright 2012. All Rights Reserved. Any unauthorized reproduction of this document is prohibited. This document and the information it contains constitute a trade secret of Magento and may not be reproduced or disclosed to non-authorized users without the prior written permission from Magento. Permitted reproductions, in whole or in part, shall bear this notice. Table of Contents Preface ....................................................................................................................... 1 About This Document ...................................................................................................... 1 Updates, Comments, and Suggestions ........................................................................... 1 Disclaimer ........................................................................................................................ 1 Section 1: Introduction .......................................................................................... 2 What is Magento Connect? ............................................................................................. 2 Community Extensions vs. Commercial Extensions ....................................................... 2 Version Compatibility ....................................................................................................... 2 Section 2: How to Package & Publish Your Extension ........................................ 3 Step One: Package Your Extension ...............................................................................
    [Show full text]
  • Set-Up Environment
    Set-up Environment Note: While this instruction utilises Windows to demonstrate the installation process, it does apply to other operating systems including Mac OS and Linux. Step 1. Install MinGW on Windows (skip this step if you use Mac OS or Linux) FYI: “MinGW” is a Windows implementation of C compiler that will convert your C source code into executable files. For Mac OS and Linux, C compilers should have already been installed. If you have not already installed “MinGW” for Windows, then use the other document <Install MinGW> on the same LMS page to install it. “MinGW” needs to be installed (or is not installed correctly) if you get the following error message: 'gcc' is not recognized as an internal or external command, operable program or batch file. Step 2.1 Check if you have Java SE 11 (JDK) installed FYI: You are not required to know what “JDK” stands for and what it means. Just bear in mind that it is a prerequisite to running jEdit 5.6.0. How do I know if I have Java installed? Windows: Select from the “Control Panel” => “Programs and Features” and check if you can find an entry called “Java(TM) SE Development Kit 11.0.10 (64-bit)” (or later). If you see such an entry, everything is fine and you can go to Step 3. Otherwise, you do not have Java installed and need to go to Step 2.2 Mac OS / Linux: Open “Terminal” and type “java -version”. If you can see the line: java version “11.0.10” or later, everything is fine and you can go to Step 3.
    [Show full text]
  • Open Source Issues and Opportunities (Powerpoint Slides)
    © Practising Law Institute INTELLECTUAL PROPERTY Course Handbook Series Number G-1307 Advanced Licensing Agreements 2017 Volume One Co-Chairs Marcelo Halpern Ira Jay Levy Joseph Yang To order this book, call (800) 260-4PLI or fax us at (800) 321-0093. Ask our Customer Service Department for PLI Order Number 185480, Dept. BAV5. Practising Law Institute 1177 Avenue of the Americas New York, New York 10036 © Practising Law Institute 24 Open Source Issues and Opportunities (PowerPoint slides) David G. Rickerby Boston Technology Law, PLLC If you find this article helpful, you can learn more about the subject by going to www.pli.edu to view the on demand program or segment for which it was written. 2-315 © Practising Law Institute 2-316 © Practising Law Institute Open Source Issues and Opportunities Practicing Law Institute Advanced Licensing Agreements 2017 May 12th 2017 10:45 AM - 12:15 PM David G. Rickerby 2-317 © Practising Law Institute Overview z Introduction to Open Source z Enforced Sharing z Managing Open Source 2-318 © Practising Law Institute “Open” “Source” – “Source” “Open” licensing software Any to available the source makes model that etc. modify, distribute, copy, What is Open Source? What is z 2-319 © Practising Law Institute The human readable version of the code. version The human readable and logic. interfaces, secrets, Exposes trade What is Source Code? z z 2-320 © Practising Law Institute As opposed to Object Code… 2-321 © Practising Law Institute ~185 components ~19 different OSS licenses - most reciprocal Open Source is Big Business ANDROID -Apache 2.0 Declared license: 2-322 © Practising Law Institute Many Organizations 2-323 © Practising Law Institute Solving Problems in Many Industries Healthcare Mobile Financial Services Everything Automotive 2-324 © Practising Law Institute So, what’s the big deal? Why isn’t this just like a commercial license? In many ways they are the same: z Both commercial and open source licenses are based on ownership of intellectual property.
    [Show full text]
  • Commercializing Open Source Software: Do Property Rights Still Matter?
    Columbia Law School Scholarship Archive Faculty Scholarship Faculty Publications 2006 Commercializing Open Source Software: Do Property Rights Still Matter? Ronald J. Mann Columbia Law School, [email protected] Follow this and additional works at: https://scholarship.law.columbia.edu/faculty_scholarship Part of the Computer Law Commons, and the Intellectual Property Law Commons Recommended Citation Ronald J. Mann, Commercializing Open Source Software: Do Property Rights Still Matter?, 20 HARV. J. L. & TECH. 1 (2006). Available at: https://scholarship.law.columbia.edu/faculty_scholarship/739 This Article is brought to you for free and open access by the Faculty Publications at Scholarship Archive. It has been accepted for inclusion in Faculty Scholarship by an authorized administrator of Scholarship Archive. For more information, please contact [email protected]. HarvardJournal of Law & Technology Volume 20, Number 1 Fall 2006 COMMERCIALIZING OPEN SOURCE SOFTWARE: Do PROPERTY RIGHTS STILL MATTER? Ronald J Mann* TABLE OF CONTENTS I. IN TRO DU CTIO N .................................................................................. 1 11. THE LANDSCAPE .......................................................................... 5 A. The ProprietarySoftware Model .............................................. 5 1. Formation and Maturation of the Proprietary Software Industry ......................................................................... 5 2. Software Licensing Under Proprietary Models .................... 8 3.
    [Show full text]
  • Arxiv:1702.08008V1 [Cs.SE] 26 Feb 2017
    JETracer - A Framework for Java GUI Event Tracing Arthur-Jozsef Molnar Faculty of Mathematics and Computer Science, Babes¸-Bolyai University, Cluj-Napoca, Romania [email protected] Keywords: GUI, event, tracing, analysis, instrumentation, Java. Abstract: The present paper introduces the open-source Java Event Tracer (JETracer) framework for real-time tracing of GUI events within applications based on the AWT, Swing or SWT graphical toolkits. Our framework pro- vides a common event model for supported toolkits, the possibility of receiving GUI events in real-time, good performance in the case of complex target applications and the possibility of deployment over a network. The present paper provides the rationale for JETracer, presents related research and details its technical implemen- tation. An empirical evaluation where JETracer is used to trace GUI events within five popular, open-source applications is also presented. 1 INTRODUCTION 1400 professional developers regarding the strate- gies, tools and problems encountered by professionals The graphical user interface (GUI) is currently the when comprehending software. Among the most sig- most pervasive paradigm for human-computer inter- nificant findings are that developers usually interact action. With the continued proliferation of mobile with the target application’s GUI for finding the start- devices, GUI-driven applications remain the norm in ing point of further interaction as well as the use of today’s landscape of pervasive computing. Given IDE’s in parallel with more specialized tools. Of par- their virtual omnipresence and increasing complex- ticular note was the finding that ”industry developers ity across different platforms, it stands to reason that do not use dedicated program comprehension tools tools supporting their lifecycle must keep pace.
    [Show full text]
  • Jedit 5.6 User's Guide the Jedit All-Volunteer Developer Team Jedit 5.6 User's Guide the Jedit All-Volunteer Developer Team
    jEdit 5.6 User's Guide The jEdit all-volunteer developer team jEdit 5.6 User's Guide The jEdit all-volunteer developer team Legal Notice Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no “Invariant Sections”, “Front-Cover Texts” or “Back-Cover Texts”, each as defined in the license. A copy of the license can be found in the file COPYING.DOC.txt included with jEdit. I. Using jEdit ............................................................................................................... 1 1. Conventions ...................................................................................................... 2 2. Starting jEdit .................................................................................................... 3 Command Line Usage .................................................................................... 3 Miscellaneous Options ........................................................................... 4 Configuration Options ............................................................................ 4 Edit Server Options ............................................................................... 4 Java Virtual Machine Options ........................................................................ 5 3. jEdit Basics ...................................................................................................... 7 Interface Overview .......................................................................................
    [Show full text]