Document Redirection Module User Guide

Total Page:16

File Type:pdf, Size:1020Kb

Document Redirection Module User Guide Document Redirection Module User Guide Page 1 of 6 Introduction The IDS Document Redirection Module provides a way to download document files from an IDS server to an attached IDS client computer. This manual is intended for System Administrators and programmers who wish to utilize the IDS Document Redirection Module in their own products. Redirecting a document requires a call to the IDS Document Redirection Server program (IdsRdSvr.exe). The call to IdsRdSvr.exe can be initiated in two ways. IdsRdSvr.exe can be published directly on an IDS Server, or it can be called by another program that is running in an IDS client session. Regardless of how the document redirection is initiated, the result is the same. A copy of the server side document is downloaded to a temporary folder on the client computer and the user is presented with a File SaveAs dialog. The default save location is the current users My Documents folder and the default filename is the original document name. Depending on the arguments passed to IdsRdSvr.exe, an attempt may also be made to open the document with whatever program is associated with its file type in the Windows File Associations on the client machine. See the following section , for details about calling IdsRdSvr.exe. Calling the IDS Document Redirection Server program (IdsRdSvr.exe) The syntax for calling IdsRdSvr.exe is as follows: IdsRdSvr.exe DocumentPath [/SaveType] where: DocumentPath (required) The fully qualified path of the server document to be redirected. /SaveType (optional) Can be one of the following Save Type switches. /SaveOptOpen - If the user saves the document, prompt to see if it should also be opened. /SaveOnly - Do not prompt to see if the document should be opened. /SaveOpen - If the user saves the document, always attempt to open it. If the Save Type switch is omitted, the client program (IdsRdCli.exe) determines the Save Type by checking the following value in the Windows Registry on the client machine. HKEY_LOCAL_MACHINE\SOFTWARE\IDS LLC\IDS\IdsRdCli\DocumentAction The default value of DocumentAction is /SaveOptOpen. Publishing a document directly in the Program Window Use this method to show a document as an icon in the user’s program window. The user can then double click the icon to download it. Page 2 of 6 1. Start the IDS Cluster Manager. 2. Use the Add button on the Applications tab to publish IdsRdSvr.exe. In the Display Name property, enter a descriptive name for the document. In the Executable Name property, specify the fully qualified path to IdsRdSvr.exe. In the Command Line property, specify the fully qualified path of the document to be published, followed by the Save Type argument if required. 3. Optionally, use the Change Icon button to select a suitable icon for the document. Redirecting a document from within another published application Use this method if you are publishing your own software and want to provide the user with a way to download and open a file on their local machine from inside one of your applications. 1. Provide a means for the user to choose the file to download/open. This will typically be a link, menu item, or button within your application. 2. Use the Windows CreateProcess() API call, or the Windows Shell function ShellExecute() to start IdsRdSvr.exe. Pass the fully qualified path to the document as the first command line argument. Pass a Save Type switch as the second argument if desired. Typical example of use A user starts the IDS Client program, logs on to an IDS Server and double clicks on one of the published applications in the Program Window. The selected application contains a link to a Microsoft Word document. When the link is clicked, the document is redirected back to the client machine and a SaveAs dialog box is presented. The user selects a location on the local machine and clicks Save. A Yes/No dialog box appears offering to open the document. If the user selects Yes, the document is opened according to the Windows File Associations set on the local machine. Typically, this would cause a .doc document to be opened with the Microsoft Word application. How it works When the user clicks on the document link, the underlying program uses the Windows ShellExecute() function to call IdsRdSvr.exe and pass it the fully qualified name of a Microsoft Word document that resides on the server. The call to ShellExecute() also includes a special Save switch to let the client know that the user should be prompted to open the document. (/SaveOptOpen) An example of the call to ShellExecute() might look something like this: (Both the path to IdsRdSvr.exe and the document itself have been quoted, since they contain embedded spaces) HINSTANCE Inst = ShellExecute(NULL, NULL, "\"c:\\Program Files\\IDS LLC\\IDS Server\\Programs\\IdsRdSvr.exe\"" , "\"c:\\Customer Documents\\Welcome Letter.com\" /SaveOptOpen" , "" , SW_SHOWNORMAL); Page 3 of 6 IdsRdSvr.exe generates a GUID and uses it to create a unique temporary subdirectory in the same directory as the original document. It then copies the original document into the temporary directory and appends a special IDS document extension to its name. The special IDS document extension consists of two parts. The first part depends on the value of the Save Type argument passed to IdsRdSvr.exe. The second part is always .ids as outlined in the following table: Save Type argument Special IDS document extension /SaveOptOpen .idsOptOpen.ids /SaveOnly .idsSave.ids /SaveOpen .idsOpen.ids Using the ShellExecute() statement above as an example, the path of the copied document would be: C:\Customer Documents\{4D36E96A-E325-11CE-BFC1-08002BE10318}\Welcome Letter.doc.idsOptOpen.ids IdsRdSvr.exe uses the Client Process Manager SDK to download the copied document to a temporary directory on the client computer. After downloading the document, the SDK attempts to open it using the Windows File Associations on the client machine. Since, during the IDS client install, a Windows File Association is created that associates the .ids file extension with the program IdsRdCli.exe, this program is run on the client. The user is presented with a File SaveAs dialog and can choose to save the document on their local machine. The default save location is the current users My Documents folder and the default filename is the original document name (in our example: Welcome Letter.doc). IdsRdCli.exe uses the first part of the special IDS document extension, to determine what action to take next. In our example, this value is .IdsOptOpen, so IdsRdCli.exe knows that the user should be prompted to open the document. A Yes/No dialog box is presented. If the user selects Yes, the document is opened using whatever program is associated with it’s document type on the client machine (For .doc documents this is typically Microsoft Word). The test server application (IdsRdSvrTest.exe) In order to aid with the setup and testing of the IDS Client Redirection Module, a test application is included in the server program installation. In the default installation, this program will be located in the server programs folder. (c:\Program Files\IDS LLC\IDS Server\Programs\IdsRdSvrTest.exe) IdsRdSvrTest.exe can be published on an IDS server and launched from a connected client machine to test the functionality of the Redirection Module. When the test program is launched, the screen shown in Fig 1 should appear. Page 4 of 6 Fig 1 Either type the fully qualified path of the document to redirect into the edit box, or click on the ellipse button to browse the IDS server and select a document. Test program options “Launch the document on the client exactly as it appears” Normally, IdsRdSvr.exe appends a special IDS extension to the name of the file being redirected. This causes IdsRdCli.exe to be executed on the client machine (because the .ids file extension is associated with IdsRdCli.exe during the IDS client install). If you check this checkbox, IdsRdSvr.exe will download the document without appending the IDS file extension and attempt to execute it on the client machine using whatever program is associated with the its file extension. Important Note: When this option is checked, IdsRdCli.exe will not be executed. The document will be saved and executed in the temporary directory where it is downloaded. (Typically: "c:\Documents and Settings\UserName\Local Settings\Temp\BSFileCache") The temporary file will not be deleted after the program is executed. If the same document is downloaded again without deleting the first temporary file, the new file will automatically get renamed with a unique number. For example, downloading MyDoc.doc twice will result in MyDoc.doc and MyDoc(1).doc being created in the temporary folder. “Include detailed information in the server log file” Check this box to include more detailed information in the server log file (IdsRdSvr.log). This can be useful when troubleshooting issues on the server side. “Save Type” Select one of the available Save Types from the radio button group. This choice determines what if any Save Type argument is passed to IdsRdSvr.exe. The choices are as follows: • Use the default Save Type on the client machine. o No Save Type argument is passed to IdsRdSvr.exe. The Save Type is determined by checking a registry setting on the client. The default setting is to prompt the user to open the file (/SaveOptOpen). • Use /SaveOptOpen Page 5 of 6 o The user is always prompted to open the file. • Use /SaveOnly o The user is never prompted to open the file. • Use /SaveOpen o The file is always opened without prompting the user.
Recommended publications
  • Windows Phone App Security for Builders and Breakers
    Windows Phone App Security for builders and breakers Luca De Fulgentis ~ [email protected] May 22nd, 2015 | Amsterdam About /me . Luca De Fulgentis ~ @_daath . Chief Technology Officer at Secure Network . OWASP Mobile Project Contributor . Nibble Security co-founder - blog.nibblesec.org . Consuming brain-power with InfoSec since 2001 2 Agenda . Introduction – Research overview and motivations . Mobile Top Ten for Windows Phone – Examples of real-world vulnerable code – Discussion on potential insecure APIs usage – Secure coding tips for builders . Final considerations Windows Phone App Security 3 Introduction . In 2014 we collected examples of insecure code for Windows Phone apps – Set of 60+ samples, of which 30% of mobile banking apps – Mostly developed with the Silverlight 8.x technology . Statistics on the initial study has been shared with the OWASP Mobile Project for the MTT 2015 definition . Later, we extended our research developing an automated script that allowed downloading 160+ AppX from US and IT regions of the WP Store – We needed to cover WP 8.1 Windows Runtime (WinRT) security as well Windows Phone App Security 4 Introduction – motivations . Too few (public) resources on WP apps security – MWR’s «Navigation a Sea of Pwn?» (SyScan, 2014) - pretty amazing paper on the topic – XDA Forum represents an invaluable source of information . We want both builders and breakers to be happy! – Provide a wide range of common APIs (MSDN) categorized on the basis of MTT 2014 and also define methods and strategies to mitigate these risks . We defined a public catalog of potentially insecure APIs – Focus on C#/XAML apps, still the most relevant development technologies .
    [Show full text]
  • MANNING Greenwich (74° W
    Object Oriented Perl Object Oriented Perl DAMIAN CONWAY MANNING Greenwich (74° w. long.) For electronic browsing and ordering of this and other Manning books, visit http://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. 32 Lafayette Place Fax: (203) 661-9018 Greenwich, CT 06830 email: [email protected] ©2000 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 we publish printed on acid-free paper, and we exert our best efforts to that end. Library of Congress Cataloging-in-Publication Data Conway, Damian, 1964- Object oriented Perl / Damian Conway. p. cm. includes bibliographical references. ISBN 1-884777-79-1 (alk. paper) 1. Object-oriented programming (Computer science) 2. Perl (Computer program language) I. Title. QA76.64.C639 1999 005.13'3--dc21 99-27793 CIP Manning Publications Co. Copyeditor: Adrianne Harun 32 Lafayette
    [Show full text]
  • Pass Microsoft 70-697 Exam with 100% Guarantee
    https://www.certbus.com/70-697.html 2021 Latest certbus 70-697 PDF and VCE dumps Download 70-697Q&As Configuring Windows Devices Pass Microsoft 70-697 Exam with 100% Guarantee Free Download Real Questions & Answers PDF and VCE file from: https://www.certbus.com/70-697.html 100% Passing Guarantee 100% Money Back Assurance Following Questions and Answers are all new published by Microsoft Official Exam Center 70-697 Practice Test | 70-697 Study Guide | 70-697 Braindumps 1 / 13 https://www.certbus.com/70-697.html 2021 Latest certbus 70-697 PDF and VCE dumps Download QUESTION 1 You provide IT support for a small startup company. The company wants users to have Read and Write permissions to the company\\'s shared folder. The network consists of a workgroup that uses Windows 10 Enterprise computers. You add each user to a group named NetworkUsers. You need to grant permissions to the share. You have the following requirements: All users must have Read and Write access to existing files. Any new files must allow the creator to modify the new file\\'s permissions. Which two actions should you take? Each correct answer presents part of the solution. NOTE: Each correct selection is worth one point. A. Grant Modify permissions to the NetworkUsers group on the shared folder. B. Grant Full Control permissions to the Domain Admins group on the shared folder. C. Grant List and Execute permissions to the NetworkUsers group on the shared folder. D. Grant Full Control permissions to the Creator Owner group on the shared folder.
    [Show full text]
  • Repair up to 32 Major Windows Errors Using a Single Tool R 400/1
    R 400.qxp_March 2018 30/01/2018 14:07 Page 15 Repair Your Windows System R 400/1 Repair Up to 32 Major Windows Errors Using a Single Tool Using the information given in this article you will be able to: Create a restore point to protect your system against damage, Repair up to 32 different errors with just one mouse click, Select and correct a specific Windows problem. No Windows system is error-free! Most people are content to simply tolerate minor Windows bugs, because they don’t have the time to hunt for the cause of the error. But small bugs can quickly spiral out of control, so it is important you deal with them fast. There are many tools on the market that claim to help you fix errors, but lots of them are expensive and don’t actually work. In my PC workshop, I use the Windows Repair tool. You can use this tool to look for errors, correct problematic settings and configure Windows to be more stable. And the best thing is that this tool is completely free. In this article, I’ll show you which errors Windows Repair can solve and how to successfully use this tool in practice. • Perform a Professional Error Check on Your Windows System .............................................................. R 400/2 • Important: Create a System Restore Point Before Applying Any Fixes ........................................................... R 400/3 • Use Windows Repair to Quickly Fix Your System ......... R 400/4 • Additi onal Repair Options in Windows Repair .............. R 400/5 • Back up Your Registry and Create a Restore Point ......
    [Show full text]
  • Java/Java Packages.Htm Copyright © Tutorialspoint.Com
    JJAAVVAA -- PPAACCKKAAGGEESS http://www.tutorialspoint.com/java/java_packages.htm Copyright © tutorialspoint.com Packages are used in Java in order to prevent naming conflicts, to control access, to make searching/locating and usage of classes, interfaces, enumerations and annotations easier, etc. A Package can be defined as a grouping of related types classes, interfaces, enumerationsandannotations providing access protection and name space management. Some of the existing packages in Java are:: java.lang - bundles the fundamental classes java.io - classes for input , output functions are bundled in this package Programmers can define their own packages to bundle group of classes/interfaces, etc. It is a good practice to group related classes implemented by you so that a programmer can easily determine that the classes, interfaces, enumerations, annotations are related. Since the package creates a new namespace there won't be any name conflicts with names in other packages. Using packages, it is easier to provide access control and it is also easier to locate the related classes. Creating a package: While creating a package, you should choose a name for the package and include a package statement along with that name at the top of every source file that contains the classes, interfaces, enumerations, and annotation types that you want to include in the package. The package statement should be the first line in the source file. There can be only one package statement in each source file, and it applies to all types in the file. If a package statement is not used then the class, interfaces, enumerations, and annotation types will be placed in the current default package.
    [Show full text]
  • IBM Endpoint Manager for Remote Control Installation Guide Chapter 1
    IBMEndpointManagerforRemoteControl Installation Guide Version 9.0.0 IBMEndpointManagerforRemoteControl Installation Guide Version 9.0.0 Note Before using this information and the product it supports, read the information in “Notices” on page 115. This edition applies to version 9, release 0, modification level 0 of IBM Endpoint Manager and to all subsequent releases and modifications until otherwise indicated in new editions. Contents Chapter 1. IBM Endpoint Manager for Installing Windows broker support .....63 Remote Control Installation Guide . 1 Installing Linux broker support.......64 Audience ...............1 Versions ................1 Chapter 5. Utility for extracting the Terms used in this guide ..........1 component installation files .....65 Using the additional setup utility .......65 Chapter 2. Overview of the IBM Endpoint Manager for Remote Control system . 3 Chapter 6. Managing the component Using this guide .............5 services ..............67 IBM Endpoint Manager for Remote Control operating Starting, stopping, or restarting the Windows requirements ..............5 components ..............67 A Basic installation ...........6 Starting, stopping, or restarting the Linux Installation with support for firewall and NAT components ..............67 traversal ...............7 Installation with support for remote control Chapter 7. Performing required sessions over the internet .........8 configuration ............69 Server requirements ...........9 Enabling email .............69 Server environment guidelines .......10 Configuring
    [Show full text]
  • Quick Start Guide for Java Version 5.0
    Quick Start Guide for Java Version 5.0 Copyright © 2020 Twin Oaks Computing, Inc. Castle Rock, CO 80104 All Rights Reserved Welcome CoreDX DDS Quick Start Guide for Java Version 5.0 Nov 2020 Welcome to CoreDX DDS, a high-performance implementation of the OMG Data Distribution Service (DDS) standard. The CoreDX DDS Publish-Subscribe messaging infrastructure provides high-throughput, low-latency data communications. This Quick Start will guide you through the basic installation of CoreDX DDS, including installation and compiling and running an example Java application. You will learn how easy it is to integrate CoreDX DDS into an application. This Quick Start Guide is tailored for Java applications, and the examples differ slightly for other languages. Installation First things first: get CoreDX DDS onto your development system! Here’s what you need to do: 1. Once you have obtained CoreDX DDS from Twin Oaks Computing (or from the Eval CD), unpack the appropriate distribution for your machine somewhere on your system. We’ll refer to this directory throughout this guide as COREDX_HOME. For example, on a UNIX system this command will extract the distribution into the current directory: gunzip –c coredx-5.0.0-Linux_2.6_x86_64_gcc5-Release.tgz | tar xf – CoreDX DDS is available for multiple platform architectures, and multiple platform architectures of CoreDX DDS can be installed in the same top level (COREDX_TOP) directory. The directory structure under COREDX_TOP will look like: 2. If you are using an evaluation copy of CoreDX DDS, follow the instructions you received when you downloaded the software to obtain an evaluation license.
    [Show full text]
  • Importance of DNS Suffixes and Netbios
    Importance of DNS Suffixes and NetBIOS Priasoft DNS Suffixes? What are DNS Suffixes, and why are they important? DNS Suffixes are text that are appended to a host name in order to query DNS for an IP address. DNS works by use of “Domains”, equitable to namespaces and usually are a textual value that may or may not be “dotted” with other domains. “Support.microsoft.com” could be considers a domain or namespace for which there are likely many web servers that can respond to requests to that domain. There could be a server named SUPREDWA.support.microsoft.com, for example. The DNS suffix in this case is the domain “support.microsoft.com”. When an IP address is needed for a host name, DNS can only respond based on hosts that it knows about based on domains. DNS does not currently employ a “null” domain that can contain just server names. As such, if the IP address of a server named “Server1” is needed, more detail must be added to that name before querying DNS. A suffix can be appended to that name so that the DNS sever can look at the records of the domain, looking for “Server1”. A client host can be configured with multiple DNS suffixes so that there is a “best chance” of discovery for a host name. NetBIOS? NetBIOS is an older Microsoft technology from a time before popularity of DNS. WINS, for those who remember, was the Microsoft service that kept a table of names (NetBIOS names) for which IP address info could be returned.
    [Show full text]
  • Bigraphical Domain-Specific Language (BDSL): User Manual BDSL Version: V1.0-SNAPSHOT
    >_ Interpreter CLI BDSL BDSL User Manual BDSL v1.0-SNAPSHOT 1 Bigraphical Domain-specific Language (BDSL): User Manual BDSL Version: v1.0-SNAPSHOT Dominik Grzelak∗ Software Technology Group Technische Universit¨at Dresden, Germany Abstract This report describes Bigraphical DSL (BDSL), a domain-specific language for reactive systems, rooted in the mathematical spirit of the bigraph theory devised by Robin Milner. BDSL is not only a platform-agnostic programming language but also a development framework for reactive applications, written in the Java program- ming language, with a focus on stability and interoperability. The report serves as a user manual mainly elaborating on how to write and execute BDSL programs, further covering several features such as how to incorporate program verification. Moreover, the manual procures some best practices on design patterns in form of code listings. The BDSL development framework comes with a ready- to-use interpreter and may be a helpful research tool to experiment with the underlying bigraph theory. The framework is further in- tended for building reactive applications and systems based on the theory of bigraphical reactive systems. This report is ought to be a supplement to the explanation on the website www.bigraphs.org. The focus in this report lies in the basic usage of the command-line interpreter and mainly refers to the features available for the end-user, thus, providing a guidance for taking the first steps. It does not cover programmatic implementation details in great detail of the whole BDSL Interpreter Framework that is more suited to developers. Acknowledgment This research project is funded by the German Research Foundation (DFG, Deutsche Forschungsgemeinschaft) as part of Germany's Excel- lence Strategy { EXC 2050/1 { Project ID 390696704 { Cluster of Ex- cellence "Centre for Tactile Internet with Human-in-the-Loop" (CeTI) of Technische Universit¨at Dresden.
    [Show full text]
  • Java: Odds and Ends
    Computer Science 225 Advanced Programming Siena College Spring 2020 Topic Notes: More Java: Odds and Ends This final set of topic notes gathers together various odds and ends about Java that we did not get to earlier. Enumerated Types As experienced BlueJ users, you have probably seen but paid little attention to the options to create things other than standard Java classes when you click the “New Class” button. One of those options is to create an enum, which is an enumerated type in Java. If you choose it, and create one of these things using the name AnEnum, the initial code you would see looks like this: /** * Enumeration class AnEnum - write a description of the enum class here * * @author (your name here) * @version (version number or date here) */ public enum AnEnum { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY } So we see here there’s something else besides a class, abstract class, or interface that we can put into a Java file: an enum. Its contents are very simple: just a list of identifiers, written in all caps like named constants. In this case, they represent the days of the week. If we include this file in our projects, we would be able to use the values AnEnum.MONDAY, AnEnum.TUESDAY, ... in our programs as values of type AnEnum. Maybe a better name would have been DayOfWeek.. Why do this? Well, we sometimes find ourselves defining a set of names for numbers to represent some set of related values. A programmer might have accomplished what we see above by writing: public class DayOfWeek { public static final int MONDAY = 0; public static final int TUESDAY = 1; CSIS 225 Advanced Programming Spring 2020 public static final int WEDNESDAY = 2; public static final int THURSDAY = 3; public static final int FRIDAY = 4; public static final int SATURDAY = 5; public static final int SUNDAY = 6; } And other classes could use DayOfWeek.MONDAY, DayOfWeek.TUESDAY, etc., but would have to store them in int variables.
    [Show full text]
  • INFORMATION TECHNOLOGY CONCEPTS-OPEN - REGIONAL 2019 Page 1 of 8
    INFORMATION TECHNOLOGY CONCEPTS-OPEN - REGIONAL 2019 Page 1 of 8 INFORMATION TECHNOLOGY CONCEPTS (391) —OPEN EVENT— REGIONAL – 2019 DO NOT WRITE ON TEST BOOKLET TOTAL POINTS _________ (100 points) Failure to adhere to any of the following rules will result in disqualification: 1. Contestant must hand in this test booklet and all printouts. Failure to do so will result in disqualification. 2. No equipment, supplies, or materials other than those specified for this event are allowed in the testing area. No previous BPA tests and/or sample tests or facsimile (handwritten, photocopied, or keyed) are allowed in the testing area. 3. Electronic devices will be monitored according to ACT standards. No more than sixty (60) minutes testing time Property of Business Professionals of America. May be reproduced only for use in the Business Professionals of America Workplace Skills Assessment Program competition. INFORMATION TECHNOLOGY CONCEPTS-OPEN - REGIONAL 2019 Page 2 of 8 MULTIPLE CHOICE Identify the choice that best completes the statement or answers the question. Mark A if the statement is true. Mark B if the statement is false. 1. Which of the following appears on the right side of any Windows 8 screen when you move your pointer to a right corner? A. Live tile B. Memory Manager C. Charms bar D. System tray 2. Which element of the Windows 7 GUI gives windows a glassy appearance, but also consumes more hardware resources? A. Control panel B. Aero user interface C. Charms interface D. Logic interface 3. The top of a top-down hierarchical structure of subdirectories is called which of the following? A.
    [Show full text]
  • Learning from Examples to Find Fully Qualified Names of API Elements In
    Learning from Examples to Find Fully Qualified Names of API Elements in Code Snippets C M Khaled Saifullah Muhammad Asaduzzaman† Chanchal K. Roy Department of Computer Science, University of Saskatchewan, Canada †School of Computing, Queen's University, Canada fkhaled.saifullah, [email protected][email protected] Abstract—Developers often reuse code snippets from online are difficult to compile and run. According to Horton and forums, such as Stack Overflow, to learn API usages of software Parnin [6] only 1% of the Java and C# code examples included frameworks or libraries. These code snippets often contain am- in the Stack Overflow posts are compilable. Yang et al. [7] biguous undeclared external references. Such external references make it difficult to learn and use those APIs correctly. In also report that less than 25% of Python code snippets in particular, reusing code snippets containing such ambiguous GitHub Gist are runnable. Resolving FQNs of API elements undeclared external references requires significant manual efforts can help to identify missing external references or declaration and expertise to resolve them. Manually resolving fully qualified statements. names (FQN) of API elements is a non-trivial task. In this paper, Prior studies link API elements in forum discussions to their we propose a novel context-sensitive technique, called COSTER, to resolve FQNs of API elements in such code snippets. The pro- documentation using Partial Program Analysis (PPA) [8], text posed technique collects locally specific source code elements as analysis [2], [9], and iterative deductive analysis [5]. All these well as globally related tokens as the context of FQNs, calculates techniques except Baker [5], need adequate documentation or likelihood scores, and builds an occurrence likelihood dictionary discussion in online forums.
    [Show full text]