Interprocedural slicing using dependence graphs
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
Precise interprocedural chopping
SIGSOFT '95 Proceedings of the 3rd ACM SIGSOFT symposium on Foundations of software engineering
Lightweight lexical source model extraction
ACM Transactions on Software Engineering and Methodology (TOSEM)
Architecture-level dependence analysis in support of software maintenance
ISAW '98 Proceedings of the third international workshop on Software architecture
A language and environment for architecture-based software development and evolution
Proceedings of the 21st international conference on Software engineering
Software Change Impact Analysis
Software Change Impact Analysis
A Model for Change Propagation Based on Graph Rewriting
ICSM '97 Proceedings of the International Conference on Software Maintenance
Change impact analysis to support architectural evolution
Journal of Software Maintenance: Research and Practice - Special issue: Separation of concerns for software evolution
Slicing Objects Using System Dependence Graphs
ICSM '98 Proceedings of the International Conference on Software Maintenance
Evaluating Context-Sensitive Slicing and Chopping
ICSM '02 Proceedings of the International Conference on Software Maintenance (ICSM'02)
A Style-Aware Architectural Middleware for Resource-Constrained, Distributed Systems
IEEE Transactions on Software Engineering
MultiJava: Design rationale, compiler implementation, and applications
ACM Transactions on Programming Languages and Systems (TOPLAS)
Program comprehension as fact finding
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Modular typestate checking of aliased objects
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
An Evaluation of Slicing Algorithms for Concurrent Programs
SCAM '07 Proceedings of the Seventh IEEE International Working Conference on Source Code Analysis and Manipulation
Using Types to Enforce Architectural Structure
WICSA '08 Proceedings of the Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008)
Empirical Software Change Impact Analysis using Singular Value Decomposition
ICST '08 Proceedings of the 2008 International Conference on Software Testing, Verification, and Validation
Software Architecture: Foundations, Theory, and Practice
Software Architecture: Foundations, Theory, and Practice
Performance evaluation of message-oriented middleware using the SPECjms2007 benchmark
Performance Evaluation
Toward a Catalogue of Architectural Bad Smells
QoSA '09 Proceedings of the 5th International Conference on the Quality of Software Architectures: Architectures for Adaptive Software Systems
Practical API Protocol Checking with Access Permissions
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
EventJava: An Extension of Java for Event Correlation
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
Developers ask reachability questions
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Impact analysis for event-based components and systems
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2
Benchmarking publish/subscribe-based messaging systems
DASFAA'10 Proceedings of the 15th international conference on Database systems for advanced applications
Program analysis for event-based distributed systems
Proceedings of the 5th ACM international conference on Distributed event-based system
On understanding laws, evolution, and conservation in the large-program life cycle
Journal of Systems and Software
Identifying message flow in distributed event-based systems
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
Implementing federated object systems
ECOOP'13 Proceedings of the 27th European conference on Object-Oriented Programming
Hi-index | 0.00 |
Distributed event-based (DEB) systems contain highly-decoupled components that interact by exchanging messages via implicit invocation, thus allowing flexible system composition and adaptation. At the same time, these inherently desirable properties render a DEB system more difficult to understand and evolve 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. Software analysis techniques that have been used successfully in traditional, explicit invocation-based systems are of little use in this domain. In order to aid the understandability of, and assess the impact of changes in, DEB systems, we propose Helios, a technique that combines component-level (1) control-flow and (2) state-based dependency analysis with system-level (3) structural analysis to produce a complete and accurate message dependence graph for a system. We have applied Helios to applications constructed on top of four different message-oriented middleware platforms. We summarize the results of several such applications. We demonstrate that Helios enables effective impact analysis and quantify its improvements over existing alternatives.