23 resultados para Java bytecodes


Relevância:

10.00% 10.00%

Publicador:

Resumo:

Mainstream IDEs such as Eclipse support developers in managing software projects mainly by offering static views of the source code. Such a static perspective neglects any information about runtime behavior. However, object-oriented programs heavily rely on polymorphism and late-binding, which makes them difficult to understand just based on their static structure. Developers thus resort to debuggers or profilers to study the system's dynamics. However, the information provided by these tools is volatile and hence cannot be exploited to ease the navigation of the source space. In this paper we present an approach to augment the static source perspective with dynamic metrics such as precise runtime type information, or memory and object allocation statistics. Dynamic metrics can leverage the understanding for the behavior and structure of a system. We rely on dynamic data gathering based on aspects to analyze running Java systems. By solving concrete use cases we illustrate how dynamic metrics directly available in the IDE are useful. We also comprehensively report on the efficiency of our approach to gather dynamic metrics.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

The IDE used in most Smalltalk dialects such as Pharo, Squeak or Cincom Smalltalk did not evolve significantly over the last years, if not to say decades. For other languages, for instance Java, the available IDEs made tremendous progress as Eclipse or NetBeans illustrate. While the Smalltalk IDE served as an exemplar for many years, other IDEs caught up or even overtook the erstwhile leader in terms of feature-richness, usability, or code navigation facilities. In this paper we first analyze the difficulty of software navigation in the Smalltalk IDE and second illustrate with concrete examples the features we added to the Smalltalk IDE to fill the gap to modern IDEs and to provide novel, improved means to navigate source space. We show that thanks to the agility and dynamics of Smalltalk, we are able to extend and enhance with reasonable effort the Smalltalk IDE to better support software navigation, program comprehension, and software maintenance in general. One such support is the integration of dynamic information into the static source views we are familiar with. Other means include easing the access to static information (for instance by better arranging important packages) or helping developers re-locating artifacts of interest (for example with a categorization system such as smart groups).

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Virtual machines (VMs) emulating hardware devices are generally implemented in low-level languages for performance reasons. This results in unmaintainable systems that are difficult to understand. In this paper we report on our experience using the PyPy toolchain to improve the portability and reduce the complexity of whole-system VM implementations. As a case study we implement a VM prototype for a Nintendo Game Boy, called PyGirl, in which the high-level model is separated from low-level VM implementation issues. We shed light on the process of refactoring from a low-level VM implementation in Java to a high-level model in RPython. We show that our whole-system VM written with PyPy is significantly less complex than standard implementations, without substantial loss in performance.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

The new goblin spider genus Prethopalpus is restricted to the Australasian tropics, from the lower Himalayan Mountains in Nepal and India to the Malaysian Peninsula, Indonesia, Papua New Guinea, and Australia. Prethopalpus contains those species with a swollen palpal patella, which is one to two times the size of the femur, together with a cymbium and bulb that is usually separated, although it is largely fused in four species. The type species Opopaea fosuma Burger et al. from Sumatra, and Camptoscaphiella infernalis Harvey and Edward from Western Australia are newly transferred to Prethopalpus. The genus consists of 41 species of which 39 are newly described: P. ilam Baehr (♂, ♀) from Nepal; P. khasi Baehr (♂), P. madurai Baehr (♂), P. mahanadi Baehr (♂, ♀), and P. meghalaya Baehr (♂, ♀) from India; P. bali Baehr (♂), P. bellicosus Baehr and Thoma (♂, ♀), P. brunei Baehr (♂, ♀), P. deelemanae Baehr and Thoma (♂), P. java Baehr (♂, ♀), P. kranzae Baehr (♂), P. kropfi Baehr (♂, ♀), P. leuser Baehr (♂, ♀), P. magnocularis Baehr and Thoma (♂), P. pahang Baehr (♂), P. perak Baehr (♂, ♀), P. sabah Baehr (♂, ♀), P. sarawak Baehr (♂), P. schwendingeri Baehr (♂, ♀), and P. utara Baehr (♂, ♀) from Indonesia and Malaysia; and P. alexanderi Baehr and Harvey (♂), P. attenboroughi Baehr and Harvey (♂), P. blosfeldsorum Baehr and Harvey (♂), P. boltoni Baehr and Harvey (♂, ♀), P. callani Baehr and Harvey (♂, ♀), P. cooperi Baehr and Harvey (♂), P. eberhardi Baehr and Harvey (♂, ♀), P. framenaui Baehr and Harvey (♂, ♀), P. humphreysi Baehr and Harvey (♂, ♀), P. kintyre Baehr and Harvey (♂), P. scanloni Baehr and Harvey (♂), P. pearsoni Baehr and Harvey (♂), P. julianneae Baehr and Harvey (♂), P. maini Baehr and Harvey (♂, ♀), P. marionae Baehr and Harvey (♂, ♀), P. platnicki Baehr and Harvey (♂, ♀), P. oneillae Baehr and Harvey (♂), P. rawlinsoni Baehr and Harvey (♂), and P. tropicus Baehr and Harvey (♂, ♀) from Australia and Papua New Guinea. Three separate keys to species from different geographical regions are provided. Most species are recorded from single locations and only three species are more widely distributed. A significant radiation of blind troglobites comprising 14 species living in subterranean ecosystems in Western Australia is discussed. These include several species that lack abdominal scuta, a feature previously used to define subfamilies of Oonopidae.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

The MQN-mapplet is a Java application giving access to the structure of small molecules in large databases via color-coded maps of their chemical space. These maps are projections from a 42-dimensional property space defined by 42 integer value descriptors called molecular quantum numbers (MQN), which count different categories of atoms, bonds, polar groups, and topological features and categorize molecules by size, rigidity, and polarity. Despite its simplicity, MQN-space is relevant to biological activities. The MQN-mapplet allows localization of any molecule on the color-coded images, visualization of the molecules, and identification of analogs as neighbors on the MQN-map or in the original 42-dimensional MQN-space. No query molecule is necessary to start the exploration, which may be particularly attractive for nonchemists. To our knowledge, this type of interactive exploration tool is unprecedented for very large databases such as PubChem and GDB-13 (almost one billion molecules). The application is freely available for download at www.gdb.unibe.ch.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Software developers are often unsure of the exact name of the method they need to use to invoke the desired behavior in a given context. This results in a process of searching for the correct method name in documentation, which can be lengthy and distracting to the developer. We can decrease the method search time by enhancing the documentation of a class with the most frequently used methods. Usage frequency data for methods is gathered by analyzing other projects from the same ecosystem - written in the same language and sharing dependencies. We implemented a proof of concept of the approach for Pharo Smalltalk and Java. In Pharo Smalltalk, methods are commonly searched for using a code browser tool called "Nautilus", and in Java using a web browser displaying HTML based documentation - Javadoc. We developed plugins for both browsers and gathered method usage data from open source projects, in order to increase developer productivity by reducing method search time. A small initial evaluation has been conducted showing promising results in improving developer productivity.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Software developers are often unsure of the exact name of the API method they need to use to invoke the desired behavior. Most state-of-the-art documentation browsers present API artefacts in alphabetical order. Albeit easy to implement, alphabetical order does not help much: if the developer knew the name of the required method, he could have just searched for it in the first place. In a context where multiple projects use the same API, and their source code is available, we can improve the API presentation by organizing the elements in the order in which they are more likely to be used by the developer. Usage frequency data for methods is gathered by analyzing other projects from the same ecosystem and this data is used then to improve tools. We present a preliminary study on the potential of this approach to improve the API presentation by reducing the time it takes to find the method that implements a given feature. We also briefly present our experience with two proof-of-concept tools implemented for Smalltalk and Java.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

An Internet portal accessible at www.gdb.unibe.ch has been set up to automatically generate color-coded similarity maps of the ChEMBL database in relation to up to two sets of active compounds taken from the enhanced Directory of Useful Decoys (eDUD), a random set of molecules, or up to two sets of user-defined reference molecules. These maps visualize the relationships between the selected compounds and ChEMBL in six different high dimensional chemical spaces, namely MQN (42-D molecular quantum numbers), SMIfp (34-D SMILES fingerprint), APfp (20-D shape fingerprint), Xfp (55-D pharmacophore fingerprint), Sfp (1024-bit substructure fingerprint), and ECfp4 (1024-bit extended connectivity fingerprint). The maps are supplied in form of Java based desktop applications called “similarity mapplets” allowing interactive content browsing and linked to a “Multifingerprint Browser for ChEMBL” (also accessible directly at www.gdb.unibe.ch) to perform nearest neighbor searches. One can obtain six similarity mapplets of ChEMBL relative to random reference compounds, 606 similarity mapplets relative to single eDUD active sets, 30 300 similarity mapplets relative to pairs of eDUD active sets, and any number of similarity mapplets relative to user-defined reference sets to help visualize the structural diversity of compound series in drug optimization projects and their relationship to other known bioactive compounds.