147 resultados para Marius Barbeau


Relevância:

10.00% 10.00%

Publicador:

Resumo:

Understanding the run-time behavior of software systems can be a challenging activity. Debuggers are an essential category of tools used for this purpose as they give developers direct access to the running systems. Nevertheless, traditional debuggers rely on generic mechanisms to introspect and interact with the running systems, while developers reason about and formulate domain-specific questions using concepts and abstractions from their application domains. This mismatch creates an abstraction gap between the debugging needs and the debugging support leading to an inefficient and error-prone debugging effort, as developers need to recover concrete domain concepts using generic mechanisms. To reduce this gap, and increase the efficiency of the debugging process, we propose a framework for developing domain-specific debuggers, called the Moldable Debugger, that enables debugging at the level of the application domain. The Moldable Debugger is adapted to a domain by creating and combining domain-specific debugging operations with domain-specific debugging views, and adapts itself to a domain by selecting, at run time, appropriate debugging operations and views. To ensure the proposed model has practical applicability (i.e., can be used in practice to build real debuggers), we discuss, from both a performance and usability point of view, three implementation strategies. We further motivate the need for domain-specific debugging, identify a set of key requirements and show how our approach improves debugging by adapting the debugger to several domains.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Developers commonly ask detailed and domain-specific questions about the software systems they are developing and maintaining. Integrated development environments (IDEs) form an essential category of tools for developing software that should support software engineering decision making. Unfortunately, rigid and generic IDEs that focus on low-level programming tasks, that promote code rather than data, and that suppress customization, offer limited support for informed decision making during software development. We propose to improve decision making within IDEs by moving from generic to context-aware IDEs through moldable tools. In this paper, we promote the idea of moldable tools, illustrate it with concrete examples, and discuss future research directions.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

When a project is realized in a globalized environment, multiple stakeholders from different organizations work on the same system. Depending on the stakeholders and their organizations, various (possibly overlapping) concerns are raised in the development of the system. In this context a Domain Specific Language (DSL) supports the work of a group of stakeholders who are responsible for addressing a specific set of concerns. This chapter identifies the open challenges arising from the coordination of globalized domain-specific languages. We identify two types of coordination: technical coordination and social coordination. After presenting an overview of the current state of the art, we discuss first the open challenges arising from the composition of multiple DSLs, and then the open challenges associated to the collaboration in a globalized environment.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Abstract Imprecise manipulation of source code (semi-parsing) is useful for tasks such as robust parsing, error recovery, lexical analysis, and rapid development of parsers for data extraction. An island grammar precisely defines only a subset of a language syntax (islands), while the rest of the syntax (water) is defined imprecisely. Usually water is defined as the negation of islands. Albeit simple, such a definition of water is naive and impedes composition of islands. When developing an island grammar, sooner or later a language engineer has to create water tailored to each individual island. Such an approach is fragile, because water can change with any change of a grammar. It is time-consuming, because water is defined manually by an engineer and not automatically. Finally, an island surrounded by water cannot be reused because water has to be defined for every grammar individually. In this paper we propose a new technique of island parsing —- bounded seas. Bounded seas are composable, robust, reusable and easy to use because island-specific water is created automatically. Our work focuses on applications of island parsing to data extraction from source code. We have integrated bounded seas into a parser combinator framework as a demonstration of their composability and reusability.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

When analysing software metrics, users find that visualisation tools lack support for (1) the detection of patterns within metrics; and (2) enabling analysis of software corpora. In this paper we present Explora, a visualisation tool designed for the simultaneous analysis of multiple metrics of systems in software corpora. Explora incorporates a novel lightweight visualisation technique called PolyGrid that promotes the detection of graphical patterns. We present an example where we analyse the relation of subtype polymorphism with inheritance and invocation in corpora of Smalltalk and Java systems and find that (1) subtype polymorphism is more likely to be found in large hierarchies; (2) as class hierarchies grow horizontally, they also do so vertically; and (3) in polymorphic hierarchies the length of the name of the classes is orthogonal to the cardinality of the call sites.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Subtype polymorphism is a cornerstone of object-oriented programming. By hiding variability in behavior behind a uniform interface, polymorphism decouples clients from providers and thus enables genericity, modularity and extensi- bility. At the same time, however, it scatters the implementation of the behavior over multiple classes thus potentially hampering program comprehension. The extent to which polymorphism is used in real programs and the impact of polymorphism on program comprehension are not very well understood. We report on a preliminary study of the prevalence of polymorphism in several hundred open source software systems written in Smalltalk, one of the oldest object-oriented programming languages, and in Java, one of the most widespread ones. Although a large portion of the call sites in these systems are polymorphic, a majority have a small number of potential candidates. Smalltalk uses polymorphism to a much greater extent than Java. We discuss how these findings can be used as input for more detailed studies in program comprehension and for better developer support in the IDE.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Scoping behavioral variations to dynamic extents is useful to support non-functional concerns that otherwise result in cross-cutting code. Unfortunately, such forms of scoping are difficult to obtain with traditional reflection or aspects. We propose delegation proxies, a dynamic proxy model that supports behavioral intercession through the interception of various interpretation operations. Delegation proxies permit different behavioral variations to be easily composed together. We show how delegation proxies enable behavioral variations that can propagate to dynamic extents. We demonstrate our approach with examples of behavioral variations scoped to dynamic extents that help simplify code related to safety, reliability, and monitoring.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Medial penetration of the helical blade into the hip joint after fixation of trochanteric fractures using the proximal femur nail antirotation (PFN-A) is a potential failure mode. In low demand patients a blade exchange with cement augmentation may be an option if conversion to total hip arthroplasty is unfeasible to salvage the cut-through. This article describes a technique to avoid intraarticular cement leakage using a cement plug to close the defect in the femoral head caused by the cut-through.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

The Balkan Vegetation Database (BVD; GIVD ID: EU-00-019; http://www.givd.info/ID/EU-00- 019) is a regional database that consists of phytosociological relevés from different vegetation types from six countries on the Balkan Peninsula (Albania, Bosnia and Herzegovina, Bulgaria, Kosovo, Montenegro and Serbia). Currently, it contains 9,580 relevés, and most of them (78%) are geo-referenced. The database includes digitized relevés from the literature (79%) and unpublished data (21%). Herein we present descriptive statistics about attributive relevé information. We developed rules that regulate governance of the database, data provision, types of data availability regimes, data requests and terms of use, authorships and relationships with other databases. The database offers an extensive overview about studies on the local, regional and SE European levels including information about flora, vegetation and habitats.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

The Alps and the Alpine foreland have been shaped by repeated glaciations during Quaternary glacial-interglacial cycles. Extent, timing and impact on landscape evolution of these glaciations are, however, poorly constrained due to the fragmentary character of terrestrial archives. In this context, the sedimentary infills of subglacially eroded, ‘overdeepened’, basins may serve as important archives to complement the Quaternary stratigraphy over several glacial-interglacial cycles. In this thesis, the infills of deep subglacial basins in the Lower Glatt valley (N Switzerland) are explored to better constrain the Middle- to Late Pleistocene environmental change. Five drill cores gave direct insight into to the up to ~200 m thick valley fill at the study site and allowed for detailed analysis of sedimentary facies, age and architecture of the basin fills. A first focus is set on the sedimentology of coarse-grained diamicts with sorted interbeds overlying bedrock in the trough center, which mark the onset of deposition in many glacial bedrock troughs. Evidence from macro- and microsedimentology suggests that these sediments are emplaced subglacially and reflect deposition, reworking and deformation in response to repeated coupling and decoupling of the ice-bed interface promoted by high basal water pressures. Overlying these subglacial sediments, large volumes of sandy glacio-deltaic, fine-grained glacio-lacustrine and lacustrine sediments document sedimentation during glacier retreat from the basins. On these thick valley fill sequences the applicability and reliability of luminescence dating is investigated in a second step on the basis of experiments with several different luminescence signals, protocols and experiments to assess the signal stability. The valley fill of the Lower Glatt valley is then grouped into nine depositional cycles (Formations A-I), which are related to the Birrfeld Glaciation (~MIS2), the Beringen Glaciation (~MIS6), and up to three earlier Middle Pleistocene glaciations, tentatively correlated to the Hagenholz, Habsburg, and Möhlin Glaciations, according to the regional glaciation history. The complex bedrock geometry and valley fill architecture are shown to be the result of multiple erosion and infilling cycles and reflect the interplay of subglacial erosion, glacial to lacustrine infilling of overdeepened basins, and fluvial down-cutting and aggradation in the non-overdeepened valley fill. Evidence suggests that in the study area deep bedrock incision, and/or partial re-excavation, occurred mainly during the Beringen and Hagenholz Glaciation, while older structures may have existed. Together with the observation of minor, ‘inlaid’ glacial basins, dynamic changes in the magnitude and focus of subglacial erosion over time are documented.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Visualisation provides good support for software analysis. It copes with the intangible nature of software by providing concrete representations of it. By reducing the complexity of software, visualisations are especially useful when dealing with large amounts of code. One domain that usually deals with large amounts of source code data is empirical analysis. Although there are many tools for analysis and visualisation, they do not cope well software corpora. In this paper we present Explora, an infrastructure that is specifically targeted at visualising corpora. We report on early results when conducting a sample analysis on Smalltalk and Java corpora.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Program comprehension requires developers to reason about many kinds of highly interconnected software entities. Dealing with this reality prompts developers to continuously intertwine searching and navigation. Nevertheless, most integrated development environments (IDEs) address searching by means of many disconnected search tools, making it difficult for developers to reuse search results produced by one search tool as input for another search tool. This forces developers to spend considerable time manually linking disconnected search results. To address this issue we propose Spotter, a model for expressing and combining search tools in a unified way. The current implementation shows that Spotter can unify a wide range of search tools. More information about Spotter can be found at scg.unibe.ch/research/moldablespotter