IEEE Transactions on Software Engineering
Concurrent programming: principles and practice
Concurrent programming: principles and practice
IEEE Transactions on Software Engineering - Special issue on formal methods in software practice
Static slicing of threaded programs
Proceedings of the 1998 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Bandera: extracting finite-state models from Java source code
Proceedings of the 22nd international conference on Software engineering
Proceedings of the 2000 ACM SIGSOFT international symposium on Software testing and analysis
Slicing Software for Model Construction
Higher-Order and Symbolic Computation
Automatic predicate abstraction of C programs
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
Verification experiments on the MASCARA protocol
SPIN '01 Proceedings of the 8th international SPIN workshop on Model checking of software
Tool-supported program abstraction for finite-state verification
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
Partial-Order Methods for the Verification of Concurrent Systems: An Approach to the State-Explosion Problem
Model checking Java programs using structural heuristics
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
Symmetry Reduction Criteria for Software Model Checking
Proceedings of the 9th International SPIN Workshop on Model Checking of Software
Program Slicing of Hardware Description Languages
CHARME '99 Proceedings of the 10th IFIP WG 10.5 Advanced Research Working Conference on Correct Hardware Design and Verification Methods
A Formal Study of Slicing for Multi-threaded Programs with JVM Concurrency Primitives
SAS '99 Proceedings of the 6th International Symposium on Static Analysis
IF: A Validation Environment for Timed Asynchronous Systems
CAV '00 Proceedings of the 12th International Conference on Computer Aided Verification
Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic
Logic of Programs, Workshop
Soot - a Java bytecode optimization framework
CASCON '99 Proceedings of the 1999 conference of the Centre for Advanced Studies on Collaborative research
Bogor: an extensible and highly-modular software model checking framework
Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
Formal Methods in System Design
ISESE '04 Proceedings of the 2004 International Symposium on Empirical Software Engineering
Dynamic partial-order reduction for model checking software
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Formal Verification of a System-on-Chip Using Computation Slicing
ITC '04 Proceedings of the International Test Conference on International Test Conference
Kaveri: delivering the indus java program slicer to eclipse
FASE'05 Proceedings of the 8th international conference, held as part of the joint European Conference on Theory and Practice of Software conference on Fundamental Approaches to Software Engineering
jMoped: a java bytecode checker based on moped
TACAS'05 Proceedings of the 11th international conference on Tools and Algorithms for the Construction and Analysis of Systems
A new foundation for control-dependence and slicing for modern program structures
ESOP'05 Proceedings of the 14th European conference on Programming Languages and Systems
Optimizing slicing of formal specifications by deductive verification
Nordic Journal of Computing - Selected papers of the 17th nordic workshop on programming theory (NWPT'05), October 19-21, 2005
Controlling factors in evaluating path-sensitive error detection techniques
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Parallel Randomized State-Space Search
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Do No Harm: Model Checking eHome Applications
SEPCASE '07 Proceedings of the 1st International Workshop on Software Engineering for Pervasive Computing Applications, Systems, and Environments
Slicing for model reduction in adaptive embedded systems development
Proceedings of the 2008 international workshop on Software engineering for adaptive and self-managing systems
Fundamenta Informaticae - Fundamentals of Software Engineering 2007: Selected Contributions
Saturation-based testing of concurrent programs
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Slicing-based Reductions for Rebeca
Electronic Notes in Theoretical Computer Science (ENTCS)
Slicing concurrent real-time system specifications for verification
IFM'07 Proceedings of the 6th international conference on Integrated formal methods
FSEN'07 Proceedings of the 2007 international conference on Fundamentals of software engineering
Actor-based slicing techniques for efficient reduction of Rebeca models
Science of Computer Programming
Proceedings of the IEEE/ACM international conference on Automated software engineering
Ten years of analyzing actors: Rebeca experience
Formal modeling
Fundamenta Informaticae - Fundamentals of Software Engineering 2007: Selected Contributions
B model slicing and predicate abstraction to generate tests
Software Quality Control
State-based model slicing: A survey
ACM Computing Surveys (CSUR)
Programs from proofs: a PCC alternative
CAV'13 Proceedings of the 25th international conference on Computer Aided Verification
Traceability and SysML design slices to support safety inspections: A controlled experiment
ACM Transactions on Software Engineering and Methodology (TOSEM)
Reducing the verification cost of evolving product families using static analysis techniques
Science of Computer Programming
Hi-index | 0.00 |
Model checking techniques have proven effective for checking a number of non-trivial concurrent object-oriented software systems. However, due to the high computational and memory costs, a variety of model reduction techniques are needed to overcome current limitations on applicability and scalability. Conventional wisdom holds that static program slicing can be an effective model reduction technique, yet anecdotal evidence is mixed, and there has been no work that has systematically studied the costs/benefits of slicing for model reduction in the context of model checking source code for realistic systems. In this paper, we present an overview of the sophisticated Indus program slicer that is capable of handling full Java and is readily applicable to interesting off-the-shelf concurrent Java programs. Using the Indus program slicer as part of the next generation of the Bandera model checking framework, we experimentally demonstrate significant benefits from using slicing as a fully automatic model reduction technique. Our experimental results consider a number of Java systems with varying structural properties, the effects of combining slicing with other well-known model reduction techniques such as partial order reductions, and the effects of slicing for different classes of properties. Our conclusions are that slicing concurrent object-oriented source code provides significant reductions that are orthogonal to a number of other reduction techniques, and that slicing should always be applied due to its automation and low computational costs.