Daniel Popescu 0001

dblp:73/5360 · DBLP profile ↗
← Back
10ranked-venue papers
3as first author
0since 2021 · last 2015
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 9 · 3 first-authorSystems, architecture and hardware · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
7 papers
Requirements engineering and software design · 40% Software maintenance and evolution · 37% Program analysis · 15%
Human-computer interaction and pervasive computing
1 paper
Collaborative and social computing · 100%

Topics — the 14 heaviest of 15, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Requirements engineering and software design › software architecture › software architecture analysis
software architecture recovery
0.222011
Enhancing architectural recovery using concerns · ASE 2011
Kadre: domain-specific architectural recovery for scientific software systems · ASE 2010
Software maintenance and evolution
change impact analysis
0.222010
Helios: impact analysis for event-based components and systems · ICSE (2) 2010
Impact analysis for event-based components and systems · ICSE (2) 2010
Software maintenance and evolution
program comprehension
0.212013
Identifying message flow in distributed event-based systems · ESEC/SIGSOFT FSE 2013
Requirements engineering and software design
software architecture
0.112011
Enhancing architectural recovery using concerns · ASE 2011
Collaborative and social computing › team collaboration
collaborative software development
0.112010
CoDesign: a highly extensible collaborative software modeling framework · ICSE (2) 2010
Collaborative and social computing › computer-supported cooperative work
distributed collaboration
0.112010
CoDesign: a highly extensible collaborative software modeling framework · ICSE (2) 2010
Program analysis › specification mining
behavioral model inference
0.112010
Using dynamic execution traces and program invariants to enhance behavioral model inference · ICSE (2) 2010
Requirements engineering and software design › model-driven engineering
collaborative modeling
0.112010
CoDesign: a highly extensible collaborative software modeling framework · ICSE (2) 2010
Program analysis
dynamic analysis
0.112010
Using dynamic execution traces and program invariants to enhance behavioral model inference · ICSE (2) 2010
Requirements engineering and software design › model-driven engineering › model management
model synchronization
0.112010
CoDesign: a highly extensible collaborative software modeling framework · ICSE (2) 2010
Program verification
program invariants
0.112010
Using dynamic execution traces and program invariants to enhance behavioral model inference · ICSE (2) 2010
Software maintenance and evolution
software maintenance
0.112010
Using dynamic execution traces and program invariants to enhance behavioral model inference · ICSE (2) 2010
Embedded and real-time systems
event-driven systems
0.012013
Identifying message flow in distributed event-based systems · ESEC/SIGSOFT FSE 2013
Computational science and engineering
scientific software
0.012010
Kadre: domain-specific architectural recovery for scientific software systems · ASE 2010

Methods — techniques the papers use, named apart from their topics

static analysis · 0.3event-based synchronization · 0.2dependence analysis · 0.2conflict detection · 0.2clustering · 0.2machine learning · 0.1concern mining · 0.1dynamic execution traces · 0.1FSA inference · 0.1
YearPublicationVenuePosition
2015 Revisiting the Anatomy and Physiology of the Grid
abstract
A domain-specific software architecture (DSSA) represents an effective, generalized, reusable solution to constructing software systems within a given application domain. In this paper, we revisit the widely cited DSSA for the domain of grid computing. We have studied systems in this domain over the last ten years. During this time, we have repeatedly observed that, while individual grid systems are widely used and deemed successful, the grid DSSA is actually underspecified to the point where providing a precise answer regarding what makes a software system a grid system is nearly impossible. Moreover, every one of the existing purported grid technologies actually violates the published grid DSSA. In response to this, based on an analysis of the source code, documentation, and usage of eighteen of the most pervasive grid technologies, we have significantly refined the original grid DSSA. We demonstrate that this DSSA much more closely matches the grid technologies studied. Our refinements allow us to more definitively identify a software system as a grid technology, and distinguish it from software libraries, middleware, and frameworks.
Chris Mattmann, Joshua Garcia, Ivo Krka, Daniel Popescu 0001, Nenad Medvidovic
J. Grid Comput.4
2013 Identifying message flow in distributed event-based systems
abstract
Distributed event-based (DEB) systems contain highly-decoupled components that interact by exchanging messages. This enables flexible system composition and adaptation, but also makes DEB systems difficult to maintain. Most existing program analysis techniques to support maintenance are not well suited to DEB systems, while those that are tend to suffer from inaccuracy or make assumptions that limit their applicability. This paper presents Eos, a static analysis technique that identifies message information useful for maintaining a DEB system, namely, message types and message flow within a system. Eos has been evaluated on six off-the-shelf DEB systems spanning five different middleware platforms, and has exhibited excellent accuracy and efficiency. Furthermore, a case study involving a range of maintenance activities undertaken on three existing DEB systems shows that, on average, Eos enables an engineer to identify the scope and impact of required changes more accurately than existing alternatives.
Joshua Garcia, Daniel Popescu 0001, Gholamreza Safi, William G. J. Halfond, Nenad Medvidovic
ESEC/SIGSOFT FSE2
2011 Enhancing architectural recovery using concerns
abstract
Architectures of implemented software systems tend to drift and erode as they are maintained and evolved. To properly understand such systems, their architectures must be recovered from implementation-level artifacts. Many techniques for architectural recovery have been proposed, but their degrees of automation and accuracy remain unsatisfactory. To alleviate these shortcomings, we present a machine learning-based technique for recovering an architectural view containing a system's components and connectors. Our approach differs from other architectural recovery work in that we rely on recovered software concerns to help identify components and connectors. A concern is a software system's role, responsibility, concept, or purpose. We posit that, by recovering concerns, we can improve the correctness of recovered components, increase the automation of connector recovery, and provide more comprehensible representations of architectures.
Joshua Garcia, Daniel Popescu 0001, Chris Mattmann, Nenad Medvidovic, Yuanfang Cai
ASE2
2010 CoDesign: a highly extensible collaborative software modeling framework
abstract
Large, multinational software development organizations face a number of issues in supporting software design and modeling by geographically distributed architects. To address these issues, we present CoDesign, an extensible, collaborative, event-based software modeling framework developed in a distributed, collaborative setting by our two organizations. CoDesign's core capabilities include real-time model synchronization between geographically distributed architects, as well as detection and resolution of a range of modeling conflicts via several off-the-shelf conflict detection engines.
Jae Young Bang, Daniel Popescu 0001, George Edwards, Nenad Medvidovic, Naveen N. Kulkarni, Girish Maskeri Rama, Srinivas Padmanabhuni
ICSE (2)2
2010 Using dynamic execution traces and program invariants to enhance behavioral model inference
abstract
Software behavioral models have proven useful for design, validation, verification, and maintenance. However, existing approaches for deriving such models sometimes overgeneralize what behavior is legal. We outline a novel approach that utilizes inferred likely program invariants and method invocation sequences to obtain an object-level model that describes legal execution sequences. The key insight is using program invariants to identify similar states in the sequences. We exemplify how our approach improves upon certain aspects of the state-of-the-art FSA-inference techniques.
Ivo Krka, Yuriy Brun, Daniel Popescu 0001, Joshua Garcia, Nenad Medvidovic
ICSE (2)3
2010 Impact analysis for event-based components and systems
abstract
In my dissertation, I aim to develop a dependence-based impact analysis technique for event-based systems and event-based components that communicate via messages. This paper motivates the problem, summarizes the open challenges and outlines proposed solution and evaluation strategies.
Daniel Popescu 0001
ICSE (2)1
2010 Helios: impact analysis for event-based components and systems
abstract
The event-based software architectural style [4] is widely used in the domain of user-interface software and wide-area applications (e.g., financial markets, logistics, and sensor networks). A Gartner study determined that the market size for message-oriented (a.k.a event-based) middleware licenses was about $1 billion in 2005 [2]. In event-based systems, components do not directly call other components, but rather indirectly using messages or events. However, this high decoupling and use of implicit invocations render an event-based system more difficult to analyze since, in the absence of explicit dependency information, an engineer has to assume that any component in the system may potentially interact with, and thus depend on, any other component.
Daniel Popescu 0001
ICSE (2)1
2010 Kadre: domain-specific architectural recovery for scientific software systems
abstract
Scientists today conduct new research via software-based experimentation and validation in a host of disciplines. Scientific software represents a significant investment due to its complexity and longevity yet there is little reuse of scientific software beyond small libraries which increases development and maintenance costs. To alleviate this disconnect, we have developed KADRE, a domain-specific architecture recovery approach and toolset to aid automatic and accurate identification of workflow components in existing scientific software. KADRE improves upon state of the art general cluster techniques, helping to promote component-based reuse within the domain.
David Woollard, Chris Mattmann, Daniel Popescu 0001, Nenad Medvidovic
ASE3
2009 Enabling more precise dependency analysis in event-based systems
abstract
Maintenance engineers need to understand component dependencies in a system to successfully modify component implementations. Interaction dependencies are especially hard to understand in event-based systems, since transfer of control between components typically happens implicitly and asynchronously. We present a framework for event-based systems that guarantees that unspecified event-based dependencies do not occur. Consequently, the framework enables automated computation of architectural dependencies that are more precise than those possible in other event-based frameworks.
Daniel Popescu 0001, Joshua Garcia, Nenad Medvidovic
ICPC1
2007 A Comparison of Static Architecture Compliance Checking Approaches
abstract
The software architecture is one of the most important artifacts created in the lifecycle of a software system. It enables, facilitates, hampers, or interferes directly the achievement of business goals, functional and quality requirements. One instrument to determine how adequate the architecture is for its intended usage is architecture compliance checking. This paper compares three static architecture compliance checking approaches (reflexion models, relation conformance rules, and component access rules) by assessing their applicability in 13 distinct dimensions. The results give guidance on when to use which approach.
Jens Knodel, Daniel Popescu 0001
WICSA2