Three partition refinement algorithms
SIAM Journal on Computing
Memory coherence in shared virtual memory systems
ACM Transactions on Computer Systems (TOCS)
The minimum consistent DFA problem cannot be approximated within any polynomial
Journal of the ACM (JACM)
Patterns in property specifications for finite-state verification
Proceedings of the 21st international conference on Software engineering
Generating statechart designs from scenarios
Proceedings of the 22nd international conference on Software engineering
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
LSCs: Breathing Life into Message Sequence Charts
Formal Methods in System Design
Bisimulation Minimization and Symbolic Model Checking
Formal Methods in System Design
Partition-Refining Algorithms for Learning Finite State Automata
ISMIS '02 Proceedings of the 13th International Symposium on Foundations of Intelligent Systems
Counterexample-Guided Abstraction Refinement
CAV '00 Proceedings of the 12th International Conference on Computer Aided Verification
Behaviour model elaboration using partial labelled transition systems
Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
Fluent model checking for event-based systems
Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
Dynamically inferring temporal properties
Proceedings of the 5th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Incremental elaboration of scenario-based specifications and behavior models using implied scenarios
ACM Transactions on Software Engineering and Methodology (TOSEM)
Automatically Inferring Temporal Properties for Program Evolution
ISSRE '04 Proceedings of the 15th International Symposium on Software Reliability Engineering
Multi-resolution Abnormal Trace Detection Using Varied-length N-grams and Automata
ICAC '05 Proceedings of the Second International Conference on Automatic Computing
Generating Annotated Behavior Models from End-User Scenarios
IEEE Transactions on Software Engineering
QUARK: Empirical Assessment of Automaton-based Specification Miners
WCRE '06 Proceedings of the 13th Working Conference on Reverse Engineering
Scenarios, goals, and state machines: a win-win partnership for model synthesis
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
SMArTIC: towards building an accurate, robust and scalable specification miner
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Mining API patterns as partial orders from source code: from usage scenarios to specifications
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Dynamic Detection of COTS Component Incompatibility
IEEE Software
Automatic generation of software behavioral models
Proceedings of the 30th international conference on Software engineering
On the origins of bisimulation and coinduction
ACM Transactions on Programming Languages and Systems (TOPLAS)
Learning operational requirements from goal models
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Validation of contracts using enabledness preserving finite state abstractions
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Synthesizing partial component-level behavior models from system specifications
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Automatic steering of behavioral model inference
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Detecting large-scale system problems by mining console logs
Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles
On the Synthesis of Finite-State Machines from Samples of Their Behavior
IEEE Transactions on Computers
SherLog: error diagnosis by connecting clues from run-time logs
Proceedings of the fifteenth edition of ASPLOS on Architectural support for programming languages and operating systems
Mining dependency in distributed systems through unstructured logs analysis
ACM SIGOPS Operating Systems Review
Using dynamic execution traces and program invariants to enhance behavioral model inference
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2
NSDI'10 Proceedings of the 7th USENIX conference on Networked systems design and implementation
Mining invariants from console logs for system problem detection
USENIXATC'10 Proceedings of the 2010 USENIX conference on USENIX annual technical conference
SALSA: analyzing logs as state machines
WASL'08 Proceedings of the First USENIX conference on Analysis of system logs
Synoptic: summarizing system logs with refinement
SLAML'10 Proceedings of the 2010 workshop on Managing systems via log analysis and machine learning techniques
Experience mining Google's production console logs
SLAML'10 Proceedings of the 2010 workshop on Managing systems via log analysis and machine learning techniques
Synoptic: studying logged behavior with inferred models
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
Synthesis revisited: generating statechart models from scenario-based requirements
Formal Methods in Software and Systems Modeling
Synoptic: studying logged behavior with inferred models
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
Mining temporal invariants from partially ordered logs
SLAML '11 Managing Large-scale Systems via the Analysis of System Logs and the Application of Machine Learning Techniques
Mining temporal invariants from partially ordered logs
ACM SIGOPS Operating Systems Review
Bridging the divide between software developers and operators using logs
Proceedings of the 34th International Conference on Software Engineering
Abstractions for validation in action
SFM'12 Proceedings of the 12th international conference on Formal Methods for the Design of Computer, Communication, and Software Systems: formal methods for model-driven engineering
Inferring networked system models from behavior traces
Proceedings of the 2012 ACM conference on CoNEXT student workshop
Unifying FSM-inference algorithms through declarative specification
Proceedings of the 2013 International Conference on Software Engineering
Assisting developers of big data analytics applications when deploying on hadoop clouds
Proceedings of the 2013 International Conference on Software Engineering
Leveraging SDN layering to systematically troubleshoot networks
Proceedings of the second ACM SIGCOMM workshop on Hot topics in software defined networking
Automated oracles: an empirical study on cost and effectiveness
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
Second-order constraints in dynamic invariant inference
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
Enabledness-based program abstractions for behavior validation
ACM Transactions on Software Engineering and Methodology (TOSEM) - In memoriam, fault detection and localization, formal methods, modeling and design
NetCheck: network diagnoses from blackbox traces
NSDI'14 Proceedings of the 11th USENIX Conference on Networked Systems Design and Implementation
Hi-index | 0.00 |
Computer systems are often difficult to debug and understand. A common way of gaining insight into system behavior is to inspect execution logs and documentation. Unfortunately, manual inspection of logs is an arduous process and documentation is often incomplete and out of sync with the implementation. This paper presents Synoptic, a tool that helps developers by inferring a concise and accurate system model. Unlike most related work, Synoptic does not require developer-written scenarios, specifications, negative execution examples, or other complex user input. Synoptic processes the logs most systems already produce and requires developers only to specify a set of regular expressions for parsing the logs. Synoptic has two unique features. First, the model it produces satisfies three kinds of temporal invariants mined from the logs, improving accuracy over related approaches. Second, Synoptic uses refinement and coarsening to explore the space of models. This improves model efficiency and precision, compared to using just one approach. In this paper, we formally prove that Synoptic always produces a model that satisfies exactly the temporal invariants mined from the log, and we argue that it does so efficiently. We empirically evaluate Synoptic through two user experience studies, one with a developer of a large, real-world system and another with 45 students in a distributed systems course. Developers used Synoptic-generated models to verify known bugs, diagnose new bugs, and increase their confidence in the correctness of their systems. None of the developers in our evaluation had a background in formal methods but were able to easily use Synoptic and detect implementation bugs in as little as a few minutes.