8,085 research outputs found
HAM: Cross-cutting Concerns in Eclipse
As programs evolve, newly added functionality sometimes does no
longer align with the original design, ending up scattered across the
software system. Aspect mining tries to identify such cross-cutting
concerns in a program to support maintenance, or as a first step
towards an aspect-oriented program. Previous approaches to aspect
mining applied static or dynamic program analysis techniques to a
single version of a system.We leverage all versions from a system\u27s
CVS history to mine aspect candidates with our Eclipse plug-in
HAM: when a single CVS commit adds calls to the same (small)
set of methods in many unrelated locations, these method calls are
likely to be cross-cutting. HAM employs formal concept analysis to
identify aspect candidates. Analysing one commit at a time makes
the approach scale to industrial-sized programs. In an evaluation we
mined cross-cutting concerns from Eclipse 3.2M3 and found that
up to 90% of the top-10 aspect candidates are truly cross-cutting
concerns
Philosophy of Blockchain Technology - Ontologies
About the necessity and usefulness of developing a philosophy specific to the blockchain technology, emphasizing on the ontological aspects. After an Introduction that highlights the main philosophical directions for this emerging technology, in Blockchain Technology I explain the way the blockchain works, discussing ontological development directions of this technology in Designing and Modeling. The next section is dedicated to the main application of blockchain technology, Bitcoin, with the social implications of this cryptocurrency. There follows a section of Philosophy in which I identify the blockchain technology with the concept of heterotopia developed by Michel Foucault and I interpret it in the light of the notational technology developed by Nelson Goodman as a notational system. In the Ontology section, I present two developmental paths that I consider important: Narrative Ontology, based on the idea of order and structure of history transmitted through Paul Ricoeur's narrative history, and the Enterprise Ontology system based on concepts and models of an enterprise, specific to the semantic web, and which I consider to be the most well developed and which will probably become the formal ontological system, at least in terms of the economic and legal aspects of blockchain technology. In Conclusions I am talking about the future directions of developing the blockchain technology philosophy in general as an explanatory and robust theory from a phenomenologically consistent point of view, which allows testability and ontologies in particular, arguing for the need of a global adoption of an ontological system for develop cross-cutting solutions and to make this technology profitable.
CONTENTS:
Abstract
Introducere
Tehnologia blockchain
- Proiectare
- Modele
Bitcoin
Filosofia
Ontologii
- Ontologii narative
- Ontologii de intreprindere
Concluzii
Note
Bibliografie
DOI: 10.13140/RG.2.2.24510.3360
A Search Engine for Finding and Reusing Architecturally Significant Code
Architectural tactics are the building blocks of software architecture. They describe solutions for addressing specific quality concerns, and are prevalent across many software systems. Once a decision is made to utilize a tactic, the developer must generate a concrete plan for implementing the tactic in the code. Unfortunately, this is a non-trivial task even for experienced developers. Developers often resort to using search engines, crowd-sourcing websites, or discussion forums to find sample code snippets to implement a tactic. A fundamental problem of finding implementation for architectural patterns/tactics is the mismatch between the high-level intent reflected in the descriptions of these patterns ,and low-level implementation details of them. To reduce this mismatch, we created a novel Tactic Search Engine called ArchEngine (ARCHitecture search ENGINE). ArchEngine can replace this manual Internet-based search process and help developers to reuse proper architectural knowledge and accurately implement tactics and patterns from a wide range of open source systems. ArchEngine helps developers find implementation examples of tactic for a given technical context. It uses information retrieval and program analysis techniques to retrieve applications that implement these design concepts. Furthermore, the search engine lists the code snippets where the patterns/tactics are located. Our case study with 21 professional software developers shows that ArchEngine is more effective than other search engines (e.g. SourceForge and Koders) in helping programmers to quickly find implementations of architectural tactics/patterns
- …