VLDB 2026 Research / reviewers in the wild / expert
Scott D. Stoller
dblp:09/6787
· DBLP profile ↗
112ranked-venue papers
26as first author
15since 2021 · last 2026
0000-0002-8824-6835ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 58 · 9 first-author · 6 since 2021Security and privacy · 26 · 8 first-author · 2 since 2021Theory of computation · 18 · 6 first-author · 3 since 2021Systems, architecture and hardware · 15 · 3 first-author · 4 since 2021Artificial intelligence and machine learning · 2 · 2 since 2021Computer networks · 1 · 1 first-author
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | Automatically Tightening Access Control Policies with RestricterabstractRobust access control is a cornerstone of secure software, systems, and networks. An access control mechanism is as effective as the policy it enforces. However, authoring effective policies that satisfy desired properties such as the principle of least privilege is a challenging task even for experienced administrators. In this paper, we set out to address this pain point by proposing Restricter , which automatically tightens each (permit) policy rule of a policy with respect to an access log, which captures some already exercised access requests and their corresponding access decisions ( i.e. , allow or deny). Restricter achieves policy tightening by reducing the number of access requests permitted by a policy rule without sacrificing the functionality of the underlying system it is regulating. We implement Restricter for Amazon’s Cedar policy language and demonstrate its effectiveness through two realistic case studies. Ka Lok Wu, Christa Jenkins, Scott D. Stoller, Omar Chowdhury |
TACAS (1) | 3 |
| 2025 | Resilience Through Automated Adaptive Configuration for Distribution and Replication
Scott D. Stoller, Balaji Jayasankar, Yanhong A. Liu |
SPIN | 1 |
| 2025 | Cumulative-Time Signal Temporal LogicabstractSignal Temporal Logic (STL) is a widely adopted specification language for Cyber-Physical Systems that can be used to express critical temporal requirements, such as system safety and response time. STL’s expressivity, however, is not sufficient to capture the cumulative duration during which a property holds within an interval of time. To overcome this limitation, we introduce Cumulative-Time Signal Temporal Logic (CT-STL) which operates over discrete-time signals and extends STL with a new cumulative-time operator. This operator compares the sum of all timesteps for which its nested formula is true with a threshold. We present both a qualitative and a quantitative (robustness) semantics for CT-STL and prove the soundness and completeness of the robustness semantics. We also provide an efficient online monitoring algorithm for both semantics. We demonstrate the utility of CT-STL via two case studies: specifying and monitoring cumulative temporal requirements for a microgrid and an artificial pancreas. Hongkai Chen 0001, Shouvik Roy, Ezio Bartocci, Scott A. Smolka, Scott D. Stoller, Shan Lin 0001 |
ACM Trans. Embed. Comput. Syst. | 6 |
| 2024 | Flock-Formation Control of Multi-Agent Systems using Imperfect Relative Distance MeasurementsabstractWe present distributed distance-based control (DDC), a novel approach for controlling a multi-agent system, such that it achieves a desired formation, in a resource-constrained setting. Our controller is fully distributed and only requires local state-estimation and scalar measurements of inter-agent distances. It does not require an external localization system or inter-agent exchange of state information. Our approach uses spatial-predictive control (SPC), to optimize a cost function given strictly in terms of inter-agent distances and the distance to the target location. In DDC, each agent continuously learns and updates a very abstract model of the actual system, in the form of a dictionary of three independent key-value pairs $(\Delta \vec s,\Delta d)$, where ∆d is the partial derivative of the distance measurements along a spatial direction $\Delta \vec s$. This is sufficient for an agent to choose the best next action. We validate our approach by using DDC to control a collection of Crazyflie drones to achieve formation flight and reach a target while maintaining flock formation. Andreas Brandstätter, Scott A. Smolka, Scott D. Stoller, Ashish Tiwari 0001, Radu Grosu |
ICRA | 3 |
| 2024 | Graphite: Real-Time Graph-Based Detection of Windows Fileless Malware Attacks
Priti Prabhakar Wakodikar, Joon-Young Gwak, Guanhua Yan, Xiaokui Shu, Scott D. Stoller, Ping Yang 0002 |
SecureComm (3) | 6 |
| 2023 | Multi-Agent Spatial Predictive Control with Application to Drone FlockingabstractWe introduce Spatial Predictive Control (SPC), a technique for solving the following problem: given a collection of robotic agents with black-box positional low-level controllers (PLLCs) and a mission-specific distributed cost function, how can a distributed controller achieve and maintain cost-function minimization without a plant model and only positional observations of the environment? Our fully distributed SPC controller is based strictly on the position of the agent itself and on those of its neighboring agents. This information is used in every time step to compute the gradient of the cost function and to perform a spatial look-ahead to predict the best next target position for the PLLC. Using a simulation environment, we show that SPC outperforms Potential Field Controllers, a related class of controllers, on the drone flocking problem. We also show that SPC works on real hardware, and is therefore able to cope with the potential sim-to-real transfer gap. We demonstrate its performance using as many as 16 Crazyflie 2.1 drones in a number of scenarios, including obstacle avoidance. Andreas Brandstätter, Scott A. Smolka, Scott D. Stoller, Ashish Tiwari 0001, Radu Grosu |
ICRA | 3 |
| 2023 | WebSheets: A New Privacy-Centric Framework for Web ApplicationsabstractSpreadsheets are enormously popular because they enable non-programmers to create applications that manipulate tabular data. The core functionality of many web applications is to display and manipulate tabular data, typically stored in databases. These observations inspired the design of WebSheets, a no-code/low-code web application development framework that provides novel support for security and privacy. The key innovation of WebSheets is that fine-grained, data-driven security policies, as well as application logic, are expressed in the spreadsheet paradigm. This empowers data owners, who are often non-programmers, to directly implement their desired security policies. Each data table in WebSheets is paired with a permission table, which is editable only by the data table's owner. Formulas in a permission table define who can read and write cells in the associated data table. These formulas can easily express role-based, attribute-based and relationship-based access control policies as well as delegation. WebSheets guarantees that these policies are enforced during the entire lifetime of every data item, as it flows through calculations within an application and even when it is passed between applications. While providing global privacy guarantees similar to information flow control systems, WebSheets enables end users to work with the more familiar access control policies. Any user wishing to safeguard their data should store them in tables they own, thereby requiring all web applications to access their data by referencing their tables. This ensures that all applications will respect their access policies in the associated permission tables. By automatically filtering out inaccessible rows and columns, WebSheets presents user-customized views that are the key feature of many web applications. Additional key features of WebSheets include: secure and scalable distributed evaluation techniques that confine WebSheets computations using OS-based access control and sandboxing mechanisms to enforce the principle of least privilege; secure integration with external systems, including web servers, databases, web browsers, user interfaces, and external modules. The benefits of distributed, least-privilege evaluation extend to modules written in any language; policy analysis, including novel techniques to help users understand policies and debug policy errors, and to improve policies over time, either to correct problems or respond to changes in use; and expressive formula language that features first-class tables, seamless integration of access control and input validation, and support for declassification. Web application vulnerabilities have been the dominant cause of data breaches in recent years. As defenses against lower-level vulnerabilities have come to be widely deployed, attackers are targeting higher-level errors. WebSheets addresses the following three common types of higher-level errors. Omitted or incorrectly coded security policies. Key stakeholders in data privacy are typically non-programmers that need to first communicate their security requirements to developers that then implement them. Developers may misunderstand the desired policies or implement simpler, relaxed policies as a result of pressure to deliver required functionality on time. In WebSheets, data owners can directly express desired fine-grained security policies using formulas. Incorrect placement of security checks. Today, policies are enforced mainly by ad-hoc placement of security checks throughout a web application's code. This lack of separation of concerns makes it hard to check whether important security policies are correctly implemented and soundly enforced by complete mediation. In WebSheets, security policies are separated from other application logic and enforced automatically on all data paths. Vulnerabilities that create unintended dataflows. Command and data injection vulnerabilities provide avenues for attackers to create new data flows, allowing data breaches to occur. The underlying problem is that web applications generally execute with a superset of the privileges available to all end users. In contrast, WebSheets by default executes with the privilege of the requesting user. Hence, data inaccessible to that user won't be leaked or corrupted, despite vulnerabilities in the application code or the WebSheets evaluation engine. WebSheets is related to commercial no-code and low-code web application development frameworks for creating mobile apps and web apps centered around interacting with tabular data stored in databases or spreadsheets, such as Google AppSheet and Glide Apps, but they lack WebSheets's key features listed above. This is joint work with R. Sekar. Preliminary work on WebSheets is described in [1,2]. Scott D. Stoller |
SACMAT | 1 |
| 2023 | A distributed simplex architecture for multi-agent systems
Usama Mehmood, Shouvik Roy, Amol Damare, Radu Grosu, Scott A. Smolka, Scott D. Stoller |
J. Syst. Archit. | 6 |
| 2023 | Integrating Logic Rules with Everything Else, SeamlesslyabstractAbstract This paper presents a language, Alda, that supports all of logic rules, sets, functions, updates, and objects as seamlessly integrated built-ins. The key idea is to support predicates in rules as set-valued variables that can be used and updated in any scope, and support queries using rules as either explicit or implicit automatic calls to an inference function. We have defined a formal semantics of the language, implemented a prototype compiler that builds on an object-oriented language that supports concurrent and distributed programming and on an efficient logic rule system, and successfully used the language and implementation on benchmarks and problems from a wide variety of application domains. We describe the compilation method and results of experimental evaluation. Yanhong A. Liu, Scott D. Stoller, Yi Tong |
Theory Pract. Log. Program. | 2 |
| 2022 | Towards Drone Flocking Using Relative Distance Measurements
Andreas Brandstätter, Scott A. Smolka, Scott D. Stoller, Ashish Tiwari 0001, Radu Grosu |
ISoLA (3) | 3 |
| 2022 | A Barrier Certificate-Based Simplex Architecture with Application to Microgrids
Amol Damare, Shouvik Roy, Scott A. Smolka, Scott D. Stoller |
RV | 4 |
| 2022 | Recursive rules with aggregation: a simple unified semanticsabstractAbstract Complex reasoning problems are most clearly and easily specified using logical rules, but require recursive rules with aggregation such as count and sum for practical applications. Unfortunately, the meaning of such rules has been a significant challenge, leading to many disagreeing semantics. This paper describes a unified semantics for recursive rules with aggregation, extending the unified founded semantics and constraint semantics for recursive rules with negation. The key idea is to support simple expression of the different assumptions underlying different semantics, and orthogonally interpret aggregation operations using their simple usual meaning. We present a formal definition of the semantics, prove important properties of the semantics and compare with prior semantics. In particular, we present an efficient inference over aggregation that gives precise answers to all examples we have studied from the literature. We also apply our semantics to a wide range of challenging examples, and show that our semantics is simple and matches the desired results in all cases. Finally, we describe experiments on the most challenging examples, exhibiting unexpectedly superior performance over well-known systems when they can compute correct answers. Yanhong A. Liu, Scott D. Stoller |
J. Log. Comput. | 2 |
| 2021 | A Distributed Simplex Architecture for Multi-agent Systems
Usama Mehmood, Scott D. Stoller, Radu Grosu, Shouvik Roy, Amol Damare, Scott A. Smolka |
SETTA | 2 |
| 2021 | Knowledge of uncertain worlds: programming with logical constraintsabstractAbstract Programming with logic for sophisticated applications must deal with recursion and negation, which together have created significant challenges in logic, leading to many different, conflicting semantics of rules. This paper describes a unified language, DA logic, for design and analysis logic, based on the unifying founded semantics and constraint semantics, that supports the power and ease of programming with different intended semantics. The key idea is to provide meta-constraints, support the use of uncertain information in the form of either undefined values or possible combinations of values and promote the use of knowledge units that can be instantiated by any new predicates, including predicates with additional arguments. Yanhong A. Liu, Scott D. Stoller |
J. Log. Comput. | 2 |
| 2021 | Neural predictive monitoring and a comparison of frequentist and Bayesian approachesabstractAbstract Neural state classification (NSC) is a recently proposed method for runtime predictive monitoring of hybrid automata (HA) using deep neural networks (DNNs). NSC trains a DNN as an approximate reachability predictor that labels an HA state x as positive if an unsafe state is reachable from x within a given time bound, and labels x as negative otherwise. NSC predictors have very high accuracy, yet are prone to prediction errors that can negatively impact reliability. To overcome this limitation, we present neural predictive monitoring (NPM), a technique that complements NSC predictions with estimates of the predictive uncertainty. These measures yield principled criteria for the rejection of predictions likely to be incorrect, without knowing the true reachability values. We also present an active learning method that significantly reduces the NSC predictor’s error rate and the percentage of rejected predictions. We develop two versions of NPM based, respectively, on the use of frequentist and Bayesian techniques to learn the predictor and the rejection rule. Both versions are highly efficient, with computation times on the order of milliseconds, and effective, managing in our experimental evaluation to successfully reject almost all incorrect predictions. In our experiments on a benchmark suite of six hybrid systems, we found that the frequentist approach consistently outperforms the Bayesian one. We also observed that the Bayesian approach is less practical, requiring a careful and problem-specific choice of hyperparameters. Luca Bortolussi, Francesca Cairoli, Nicola Paoletti, Scott A. Smolka, Scott D. Stoller |
Int. J. Softw. Tools Technol. Transf. | 5 |
| 2020 | Neural Flocking: MPC-Based Supervised Learning of Flocking ControllersabstractAbstract We show how a symmetric and fully distributed flocking controller can be synthesized using Deep Learning from a centralized flocking controller. Our approach is based on Supervised Learning, with the centralized controller providing the training data, in the form of trajectories of state-action pairs. We use Model Predictive Control (MPC) for the centralized controller, an approach that we have successfully demonstrated on flocking problems. MPC-based flocking controllers are high-performing but also computationally expensive. By learning a symmetric and distributed neural flocking controller from a centralized MPC-based one, we achieve the best of both worlds: the neural controllers have high performance (on par with the MPC controllers) and high efficiency. Our experimental results demonstrate the sophisticated nature of the distributed controllers we learn. In particular, the neural controllers are capable of achieving myriad flocking-oriented control objectives, including flocking formation, collision avoidance, obstacle avoidance, predator avoidance, and target seeking. Moreover, they generalize the behavior seen in the training data to achieve these objectives in a significantly broader range of scenarios. In terms of verification of our neural flocking controller, we use a form of statistical model checking to compute confidence intervals for its convergence rate and time to convergence. Usama Mehmood, Shouvik Roy, Radu Grosu, Scott A. Smolka, Scott D. Stoller, Ashish Tiwari 0001 |
FoSSaCS | 5 |
| 2020 | Assurance of Distributed Algorithms and Systems: Runtime Checking of Safety and Liveness
Yanhong A. Liu, Scott D. Stoller |
RV | 2 |
| 2020 | A Decision Tree Learning Approach for Mining Relationship-Based Access Control PoliciesabstractRelationship-based access control (ReBAC) provides a high level of expressiveness and flexibility that promotes security and information sharing, by allowing policies to be expressed in terms of chains of relationships between entities. ReBAC policy mining algorithms have the potential to significantly reduce the cost of migration from legacy access control systems to ReBAC, by partially automating the development of a ReBAC policy. This paper presents new algorithms, called DTRM (Decision Tree ReBAC Miner) and DTRM-, based on decision trees, for mining ReBAC policies from access control lists (ACLs) and information about entities. Compared to state-of-the-art ReBAC mining algorithms, our algorithms are significantly faster, achieve comparable policy quality, and can mine policies in a richer language. Thang Bui, Scott D. Stoller |
SACMAT | 2 |
| 2020 | Founded semantics and constraint semantics of logic rulesabstractAbstract Logic rules and inference are fundamental in computer science and have been studied extensively. However, prior semantics of logic languages can have subtle implications and can disagree significantly, on even very simple programs, including in attempting to solve the well-known Russell’s paradox. These semantics are often non-intuitive and hard-to-understand when unrestricted negation is used in recursion. This paper describes a simple new semantics for logic rules, founded semantics, and its straightforward extension to another simple new semantics, constraint semantics, that unify the core of different prior semantics. The new semantics support unrestricted negation, as well as unrestricted existential and universal quantifications. They are uniquely expressive and intuitive by allowing assumptions about the predicates, rules and reasoning to be specified explicitly, as simple and precise binary choices. They are completely declarative and relate cleanly to prior semantics. In addition, founded semantics can be computed in linear time in the size of the ground program. Yanhong A. Liu, Scott D. Stoller |
J. Log. Comput. | 2 |
| 2019 | Algorithm Diversity for Resilient Systems
Scott D. Stoller, Yanhong A. Liu |
DBSec | 1 |
| 2019 | From Classical to Blockchain Consensus: What Are the Exact Algorithms?abstractThis tutorial describes well-known algorithms for distributed consensus problems, from classical consensus to blockchain consensus, and discusses exact algorithms that are high-level as in pseudocode and directly executable at the same time. The tutorial consists of five parts: Yanhong A. Liu, Scott D. Stoller |
PODC | 2 |
| 2019 | Moderately Complex Paxos Made Simple: High-Level Executable Specification of Distributed AlgorithmsabstractThis paper describes the application of a high-level language and method in developing simpler specifications of more complex variants of the Paxos algorithm for distributed consensus. The specifications are for Multi-Paxos with preemption, replicated state machine, and reconfiguration and optimized with state reduction and failure detection. The language is DistAlgo. The key is to express complex control flows and synchronization conditions precisely at a high level, using nondeterministic waits and message-history queries. We obtain complete executable specifications that are almost completely declarative--updating only a number for the protocol round besides the sets of messages sent and received. Yanhong A. Liu, Saksham Chand, Scott D. Stoller |
PPDP | 3 |
| 2019 | Neural Predictive Monitoring
Luca Bortolussi, Francesca Cairoli, Nicola Paoletti, Scott A. Smolka, Scott D. Stoller |
RV | 5 |
| 2019 | Efficient and Extensible Policy Mining for Relationship-Based Access ControlabstractRelationship-based access control (ReBAC) is a flexible and expressive framework that allows policies to be expressed in terms of chains of relationship between entities as well as attributes of entities. ReBAC policy mining algorithms have a potential to significantly reduce the cost of migration from legacy access control systems to ReBAC, by partially automating the development of a ReBAC policy. Existing ReBAC policy mining algorithms support a policy language with a limited set of operators; this limits their applicability. Thang Bui, Scott D. Stoller, Hieu Le 0001 |
SACMAT | 2 |
| 2019 | Greedy and evolutionary algorithms for mining relationship-based access control policies
Thang Bui, Scott D. Stoller |
Comput. Secur. | 2 |
| 2018 | Neural State Classification for Hybrid Systems
Dung T. Phan, Nicola Paoletti, Timothy Zhang, Radu Grosu, Scott A. Smolka, Scott D. Stoller |
ATVA | 6 |
| 2018 | Dependence-Preserving Data Compaction for Scalable Forensic Analysis
Md Nahid Hossain, Junao Wang, R. Sekar 0001, Scott D. Stoller |
USENIX Security Symposium | 4 |
| 2018 | Mining hierarchical temporal roles with multiple metricsabstractTemporal role-based access control (TRBAC) extends role-based access control to limit the times at which roles are enabled. This paper presents a new algorithm for mining high-quality TRBAC policies from timed ACLs (i.e., ACLs with time limits in the entries) and optionally user attribute information. Such algorithms have potential to significantly reduce the cost of migration from timed ACLs to TRBAC. The algorithm is parameterized by the policy quality metric. We consider multiple quality metrics, including number of roles, weighted structural complexity (a generalization of policy size), and (when user attribute information is available) interpretability, i.e., how well role membership can be characterized in terms of user attributes. Ours is the first TRBAC policy mining algorithm that produces hierarchical policies, and the first that optimizes weighted structural complexity or interpretability. In experiments with datasets based on real-world ACL policies, our algorithm is more effective than previous algorithms at optimizing policy quality. Scott D. Stoller, Thang Bui |
J. Comput. Secur. | 1 |
| 2017 | Fast Distributed Evaluation of Stateful Attribute-Based Access Control Policies
Thang Bui, Scott D. Stoller |
DBSec | 2 |
| 2017 | Mining Relationship-Based Access Control PoliciesabstractRelationship-based access control (ReBAC) provides a high level of expressiveness and flexibility that promotes security and information sharing. We formulate ReBAC as an object-oriented extension of attribute-based access control (ABAC) in which relationships are expressed using fields that refer to other objects, and path expressions are used to follow chains of relationships between objects. Thang Bui, Scott D. Stoller |
SACMAT | 2 |
| 2017 | A Simplex Architecture for Hybrid Systems Using Barrier Certificates
Junxing Yang, Abhishek Murthy, Scott A. Smolka, Scott D. Stoller |
SAFECOMP | 5 |
| 2017 | SLEUTH: Real-time Attack Scenario Reconstruction from COTS Audit Data
Md Nahid Hossain, Sadegh M. Milajerdi, Junao Wang, Birhanu Eshete, Rigel Gjomemo, R. Sekar 0001, Scott D. Stoller, V. N. Venkatakrishnan |
USENIX Security Symposium | 7 |
| 2017 | Collision avoidance for mobile robots with limited sensing and limited information about moving obstacles
Dung T. Phan, Junxing Yang, Radu Grosu, Scott A. Smolka, Scott D. Stoller |
Formal Methods Syst. Des. | 5 |
| 2017 | From Clarity to Efficiency for Distributed AlgorithmsabstractThis article describes a very high-level language for clear description of distributed algorithms and optimizations necessary for generating efficient implementations. The language supports high-level control flows in which complex synchronization conditions can be expressed using high-level queries, especially logic quantifications, over message history sequences. Unfortunately, the programs would be extremely inefficient, including consuming unbounded memory, if executed straightforwardly. We present new optimizations that automatically transform complex synchronization conditions into incremental updates of necessary auxiliary values as messages are sent and received. The core of the optimizations is the first general method for efficient implementation of logic quantifications. We have developed an operational semantics of the language, implemented a prototype of the compiler and the optimizations, and successfully used the language and implementation on a variety of important distributed algorithms. Yanhong A. Liu, Scott D. Stoller |
ACM Trans. Program. Lang. Syst. | 2 |
| 2016 | Mining Hierarchical Temporal Roles with Multiple Metrics
Scott D. Stoller, Thang Bui |
DBSec | 1 |
| 2016 | Formal Verification of Multi-Paxos for Distributed Consensus
Saksham Chand, Yanhong A. Liu, Scott D. Stoller |
FM | 3 |
| 2016 | Demand-driven incremental object queriesabstractObject queries are essential in information seeking and decision making in vast areas of applications. However, a query may involve complex conditions on objects and sets, which can be arbitrarily nested and aliased. The objects and sets involved as well as the demand---the given parameter values of interest---can change arbitrarily. How to implement object queries efficiently under all possible updates, and furthermore to provide complexity guarantees? Yanhong A. Liu, Jon Brandvein, Scott D. Stoller |
PPDP | 3 |
| 2015 | An Administrative Model for Relationship-Based Access Control
Scott D. Stoller |
DBSec | 1 |
| 2015 | Collision Avoidance for Mobile Robots with Limited Sensing and Limited Information About the Environment
Dung T. Phan, Junxing Yang, Denise Ratasich, Radu Grosu, Scott A. Smolka, Scott D. Stoller |
RV | 6 |
| 2015 | Policy analysis for administrative role based access control without separate administrationabstractRole based access control (RBAC) is a widely used approach to access control with well-known advantages in managing authorization policies. This paper considers user-role reachability analysis of administrative role based access control (ARBAC), which defines administrative roles and specifies how members of each administrative role can change the RBAC policy. Most existing works on user-role reachability analysis assume the separate administration restriction in ARBAC policies. While this restriction greatly simplifies the user-role reachability analysis, it also limits the expressiveness and applicability of ARBAC. In this paper, we consider analysis of ARBAC without the separate administration restriction and present new techniques to reduce the number of ARBAC rules and users considered during analysis. We also present parallel algorithms that speed up the analysis on multi-core systems. The experimental results show that our techniques significantly reduce the analysis time, making it practical to analyze ARBAC without separate administration. Ping Yang 0002, Mikhail I. Gofman, Scott D. Stoller, Zijiang Yang 0006 |
J. Comput. Secur. | 3 |
| 2015 | Mining Attribute-Based Access Control PoliciesabstractAttribute-based access control (ABAC) provides a high level of flexibility that promotes security and information sharing. ABAC policy mining algorithms have potential to significantly reduce the cost of migration to ABAC, by partially automating the development of an ABAC policy from an access control list (ACL) policy or role-based access control (RBAC) policy with accompanying attribute data. This paper presents an ABAC policy mining algorithm. To the best of our knowledge, it is the first ABAC policy mining algorithm. Our algorithm iterates over tuples in the given user-permission relation, uses selected tuples as seeds for constructing candidate rules, and attempts to generalize each candidate rule to cover additional tuples in the user-permission relation by replacing conjuncts in attribute expressions with constraints. Our algorithm attempts to improve the policy by merging and simplifying candidate rules, and then it selects the highest-quality candidate rules for inclusion in the generated policy. Zhongyuan Xu, Scott D. Stoller |
IEEE Trans. Dependable Secur. Comput. | 2 |
| 2014 | Mining Attribute-Based Access Control Policies from Logs
Zhongyuan Xu, Scott D. Stoller |
DBSec | 2 |
| 2014 | Using Statistical Model Checking for Measuring Systems
Radu Grosu, Doron A. Peled, C. R. Ramakrishnan 0001, Scott A. Smolka, Scott D. Stoller, Junxing Yang |
ISoLA (2) | 5 |
| 2014 | Abductive Analysis of Administrative Policies in Rule-Based Access ControlabstractIn large organizations, access control policies are managed by multiple users (administrators). An administrative policy specifies how each user in an enterprise may change the policy. Fully understanding the consequences of an administrative policy in an enterprise system can be difficult, because of the scale and complexity of the access control policy and the administrative policy, and because sequences of changes by different users may interact in unexpected ways. Administrative policy analysis helps by answering questions such as user-permission reachability, which asks whether specified users can together change the policy in a way that achieves a specified goal, namely, granting a specified permission to a specified user. This paper presents a rule-based access control policy language, a rule-based administrative policy model that controls addition and removal of facts and rules, and an abductive analysis algorithm for user-permission reachability. Abductive analysis means that the algorithm can analyze policy rules even if the facts initially in the policy (e.g., information about users) are unavailable. The algorithm does this by computing minimal sets of facts that, if present in the initial policy, imply reachability of the goal. Puneet Gupta 0002, Scott D. Stoller, Zhongyuan Xu |
IEEE Trans. Dependable Secur. Comput. | 2 |
| 2013 | Mining parameterized role-based policiesabstractRole-based access control (RBAC) offers significant advantages over lower-level access control policy representations, such as access control lists (ACLs). However, the effort required for a large organization to migrate from ACLs to RBAC can be a significant obstacle to adoption of RBAC. Role mining algorithms partially automate the construction of an RBAC policy from an ACL policy and possibly other information. These algorithms can significantly reduce the cost of migration to RBAC. Zhongyuan Xu, Scott D. Stoller |
CODASPY | 2 |
| 2013 | Runtime Verification with Particle Filtering
Kenan Kalajdzic, Ezio Bartocci, Scott A. Smolka, Scott D. Stoller, Radu Grosu |
RV | 4 |
| 2012 | From clarity to efficiency for distributed algorithmsabstractThis paper describes a very high-level language for clear description of distributed algorithms and optimizations necessary for generating efficient implementations. The language supports high-level control flows where complex synchronization conditions can be expressed using high-level queries, especially logic quantifications, over message history sequences. Unfortunately, the programs would be extremely inefficient, including consuming unbounded memory, if executed straightforwardly. Yanhong A. Liu, Scott D. Stoller, Michael Gorbovitski |
OOPSLA | 2 |
| 2012 | Composing transformations for instrumentation and optimizationabstractWhen transforming programs for complex instrumentation and optimization, it is essential to understand the effect of the transformations, to best optimize the transformed programs, and to speedup the transformation process. This paper describes a powerful method for composing transformation rules to achieve these goals. Michael Gorbovitski, Yanhong A. Liu, Scott D. Stoller, Tom Rothamel |
PEPM | 3 |
| 2012 | Adaptive Runtime Verification
Ezio Bartocci, Radu Grosu, Atul Karmarkar, Scott A. Smolka, Scott D. Stoller, Erez Zadok, Justin Seyster |
RV | 5 |
| 2012 | Algorithms for mining meaningful rolesabstractRole-based access control (RBAC) offers significant advantages over lower-level access control policy representations, such as access control lists (ACLs). However, the effort required for a large organization to migrate from ACLs to RBAC can be a significant obstacle to adoption of RBAC. Role mining algorithms partially automate the construction of an RBAC policy from an ACL policy and possibly other information, such as user attributes. These algorithms can significantly reduce the cost of migration to RBAC. Zhongyuan Xu, Scott D. Stoller |
SACMAT | 2 |
| 2012 | High-Level Executable Specifications of Distributed Algorithms
Yanhong A. Liu, Scott D. Stoller |
SSS | 2 |
| 2012 | InterAspect: aspect-oriented instrumentation with GCC
Justin Seyster, Ketan Dixit, Xiaowan Huang, Radu Grosu, Klaus Havelund, Scott A. Smolka, Scott D. Stoller, Erez Zadok |
Formal Methods Syst. Des. | 7 |
| 2012 | Software monitoring with controllable overhead
Xiaowan Huang, Justin Seyster, Sean Callanan, Ketan Dixit, Radu Grosu, Scott A. Smolka, Scott D. Stoller, Erez Zadok |
Int. J. Softw. Tools Technol. Transf. | 7 |
| 2011 | Redflag: A Framework for Analysis of Kernel-Level Concurrency
Justin Seyster, Prabakar Radhakrishnan, Samriti Katoch, Abhinav Duggal, Scott D. Stoller, Erez Zadok |
ICA3PP (1) | 5 |
| 2011 | Runtime Verification with State Estimation
Scott D. Stoller, Ezio Bartocci, Justin Seyster, Radu Grosu, Klaus Havelund, Scott A. Smolka, Erez Zadok |
RV | 1 |
| 2011 | On the energy consumption and performance of systems softwareabstractModels of energy consumption and performance are necessary to understand and identify system behavior, prior to designing advanced controls that can balance out performance and energy use. This paper considers the energy consumption and performance of servers running a relatively simple file-compression workload. We found that standard techniques for system identification do not produce acceptable models of energy consumption and performance, due to the intricate interplay between the discrete nature of software and the continuous nature of energy and performance. This motivated us to perform a detailed empirical study of the energy consumption and performance of this system with varying compression algorithms and compression levels, file types, persistent storage media, CPU DVFS levels, and disk I/O schedulers. Our results identify and illustrate factors that complicate the system's energy consumption and performance, including nonlinearity, instability, and multi-dimensionality. Our results provide a basis for future work on modeling energy consumption and performance to support principled design of controllable energy-aware systems. Radu Grosu, Priya Sehgal, Scott A. Smolka, Scott D. Stoller, Erez Zadok |
SYSTOR | 5 |
| 2011 | Symbolic reachability analysis for parameterized administrative role-based access control
Scott D. Stoller, Ping Yang 0002, Mikhail I. Gofman, C. R. Ramakrishnan 0001 |
Comput. Secur. | 1 |
| 2011 | Policy analysis for Administrative Role-Based Access Control
Amit Sasturkar, Ping Yang 0002, Scott D. Stoller, C. R. Ramakrishnan 0001 |
Theor. Comput. Sci. | 3 |
| 2010 | Trust management for Web ServicesabstractService-Oriented Architecture (SOA) is increasingly used in enterprise information systems, particularly in the form of Web Services. This paper describes a practical trust management system for Web Services that allows information in databases to be used seamlessly and efficiently in trust management policies. Scott D. Stoller |
CNSM | 1 |
| 2010 | Alias analysis for optimization of dynamic languagesabstractDynamic languages such as Python allow programs to be written more easily using high-level constructs such as comprehensions for queries and using generic code. Efficient execution of programs then requires powerful optimizations - incrementalization of expensive queries and specialization of generic code. Effective incrementalization and specialization of dynamic languages require precise and scalable alias analysis. Michael Gorbovitski, Yanhong A. Liu, Scott D. Stoller, Tom Rothamel, K. Tuncay Tekle |
DLS | 3 |
| 2010 | Aspect-Oriented Instrumentation with GCC
Justin Seyster, Ketan Dixit, Xiaowan Huang, Radu Grosu, Klaus Havelund, Scott A. Smolka, Scott D. Stoller, Erez Zadok |
RV | 7 |
| 2009 | HAVE: Detecting Atomicity Violations via Integrated Dynamic and Static Analysis
Qichang Chen, Zijiang Yang 0006, Scott D. Stoller |
FASE | 4 |
| 2009 | A language and framework for invariant-driven transformationsabstractThis paper describes a language and framework that allow coordinated transformations driven by invariants to be specified declaratively, as invariant rules, and applied automatically. The framework supports incremental maintenance of invariants for program design and optimization, as well as general transformations for instrumentation, refactoring, and other purposes. This paper also describes our implementations for transforming Python and C programs and experiments with successful applications of the systems in generating efficient implementations from clear and modular specifications, in instrumenting programs for runtime verification, profiling, and debugging, and in code refactoring. Yanhong A. Liu, Michael Gorbovitski, Scott D. Stoller |
GPCE | 3 |
| 2009 | Parametric heap usage analysis for functional programsabstractThis paper presents an analysis that derives a formula describing the worst-case live heap space usage of programs in a functional language with automated memory management (garbage collection). First, the given program is automatically transformed into bound functions that describe upper bounds on the live heap space usage and other related space metrics in terms of the sizes of function arguments. The bound functions are simplified and rewritten to obtain recurrences, which are then solved to obtain the desired formulas characterizing the worst-case space usage. These recurrences may be difficult to solve due to uses of the maximum operator. We give methods to automatically solve categories of such recurrences. Our analysis determines and exploits monotonicity and monotonicity-like properties of bound functions to derive upper bounds on heap usage, without considering behaviors of the program that cannot lead to maximal space usage. Leena Unnikrishnan, Scott D. Stoller |
ISMM | 2 |
| 2009 | Symbolic reachability analysis for parameterized administrative role based access controlabstractRole based access control (RBAC) is a widely used access control paradigm. In large organizations, the RBAC policy is managed by multiple administrators. An administrative role based access control (ARBAC) policy specifies how each administrator may change the RBAC policy. It is often difficult to fully understand the effect of an ARBAC policy by simple inspection, because sequences of changes by different administrators may interact in unexpected ways. ARBAC policy analysis algorithms can help by answering questions, such as user-role reachability, which asks whether a given user can be assigned to given roles by given administrators. Allowing roles and permissions to have parameters significantly enhances the scalability, flexibility, and expressiveness of ARBAC policies. This paper defines PARBAC, which extends the classic ARBAC97 model to support parameters, and presents an analysis algorithm for PARBAC. To the best of our knowledge, this is the first analysis algorithm specifically for parameterized ARBAC policies. We evaluate its efficiency by analyzing its parameterized complexity and benchmarking it on case studies and synthetic policies. Scott D. Stoller, Ping Yang 0002, Mikhail I. Gofman, C. R. Ramakrishnan 0001 |
SACMAT | 1 |
| 2009 | Verification of Security Policy Enforcement in Enterprise Systems
Scott D. Stoller |
SEC | 2 |
| 2009 | RBAC-PAT: A Policy Analysis Tool for Role Based Access Control
Mikhail I. Gofman, Ruiqi Luo, Ayla C. Solomon, Yingbin Zhang, Ping Yang 0002, Scott D. Stoller |
TACAS | 6 |
| 2009 | From datalog rules to efficient programs with time and space guaranteesabstractThis article describes a method for transforming any given set of Datalog rules into an efficient specialized implementation with guaranteed worst-case time and space complexities, and for computing the complexities from the rules. The running time is optimal in the sense that only useful combinations of facts that lead to all hypotheses of a rule being simultaneously true are considered, and each such combination is considered exactly once in constant time. The associated space usage may sometimes be reduced using scheduling optimizations to eliminate some summands in the space usage formula. The transformation is based on a general method for algorithm design that exploits fixed-point computation, incremental maintenance of invariants, and combinations of indexed and linked data structures. We apply the method to a number of analysis problems, some with improved algorithm complexities and all with greatly improved algorithm understanding and greatly simplified complexity analysis. Yanhong A. Liu, Scott D. Stoller |
ACM Trans. Program. Lang. Syst. | 2 |
| 2008 | Software monitoring with bounded overheadabstractIn this paper, we introduce the new technique of high-confidence software monitoring (HCSM), which allows one to perform software monitoring with bounded overhead and concomitantly achieve high confidence in the observed error rates. HCSM is formally grounded in the theory of supervisory control of finite-state automata: overhead is controlled, while maximizing confidence, by disabling interrupts generated by the events being monitored - and hence avoiding the overhead associated with processing these interrupts - for as short a time as possible under the constraint of a user-supplied target overhead Otarget. HCSM is a general technique for software monitoring in that HCSM-based instrumentation can be attached at any system interface or API. A generic controller implements the optimal control strategy described above. As a proof of concept, and as a practical framework for software monitoring, we have implemented HCSM-based monitoring for both bounds checking and memory leak detection. We have further conducted an extensive evaluation of HCSM's performance on several real-world applications, including the Lighttpd Web server, and a number of special-purpose micro-benchmarks. Our results demonstrate how confidence grows in a monotonically increasing fashion with the target overhead, and that tight confidence intervals can be obtained for each target-overhead level. Sean Callanan, David J. Dean, Michael Gorbovitski, Radu Grosu, Justin Seyster, Scott A. Smolka, Scott D. Stoller, Erez Zadok |
IPDPS | 7 |
| 2008 | 6th workshop on parallel and distributed systems: testing and debugging (PADTAD '08)abstractPADTAD brings together researchers from academia and researchers and practitioners from industry to promote the development of techniques and tools that aid in testing, analysis, and debugging of multi-threaded/parallel/distributed software. Shmuel Ur, Scott D. Stoller, Eitan Farchi |
ISSTA | 2 |
| 2008 | Analysis and Transformations for Efficient Query-Based DebuggingabstractThis paper describes a framework that supports powerful queries in debugging tools, and describes in particular the transformations, alias analysis, and type analysis used to make the queries efficient. The framework allows queries over the states of all objects at any point in the execution as well as over the history of states. The transformations are based on incrementally maintaining the results of expensive queries studied in previous work. The alias analysis extends the flow-sensitive intraprocedural analysis to an efficient flow-sensitive interprocedural analysis for an object-oriented language with also a form of context sensitivity. We also show the power of the framework and the effectiveness of the analyses through case studies and experiments with XML DOM tree transformations, an FTP client, and others. We were able to easily determine the sources of all injected bugs, and we also found an actual bug in the case study on the FTP client. Michael Gorbovitski, K. Tuncay Tekle, Tom Rothamel, Scott D. Stoller, Yanhong A. Liu |
SCAM | 4 |
| 2007 | Efficient policy analysis for administrative role based access controlabstractAdministrative RBAC (ARBAC) policies specify how Role-Based Access Control (RBAC) policies may be changed by each administrator. It is often difficult to fully understand the effect of an ARBAC policy by simple inspection, because sequences of changes by different administrators may interact in unexpected ways. ARBAC policy analysis algorithms can help by answering questions, such a suser-role reachability, which asks whether a given user can be assigned to given roles by given administrators. This problem is intractable in general. This paper identifies classes of policies of practical interest, develops analysis algorithms for them, and analyzes their parameterized complexity, showing that the algorithms may have high complexity with respect to some parameter k characterizing the hardness of the input (such that k is often small in practice) but have polynomial complexity in terms of the overall input size when the value of k is fixed. Scott D. Stoller, Ping Yang 0002, C. R. Ramakrishnan 0001, Mikhail I. Gofman |
CCS | 1 |
| 2007 | Towards a framework and a benchmark for testing tools for multi-threaded programsabstractAbstract Multi‐threaded code is becoming very common, both on the server side, and very recently for personal computers as well. Consequently, looking for intermittent bugs is a problem that is receiving more and more attention. As there is no silver bullet, research focuses on a variety of partial solutions. We outline a road map for combining the research within the different disciplines of testing multi‐threaded programs and for evaluating the quality of this research. We have three main goals. First, to create a benchmark that can be used to evaluate different solutions. Second, to create a framework with open application programming interfaces that enables the combination of techniques in the multi‐threading domain. Third, to create a focus for the research in this area around which a community of people who try to solve similar problems with different techniques can congregate. We have started creating such a benchmark and describe the lessons learned in the process. The framework will enable technology developers, for example, developers of race detection algorithms, to concentrate on their components and use other ready made components (e.g. an instrumentor) to create a testing solution. Copyright © 2006 John Wiley & Sons, Ltd. Yaniv Eytani, Klaus Havelund, Scott D. Stoller, Shmuel Ur |
Concurr. Comput. Pract. Exp. | 3 |
| 2006 | Policy Analysis for Administrative Role Based Access ControlabstractRole-based access control (RBAC) is a widely used model for expressing access control policies. In large organizations, the RBAC policy may be collectively managed by many administrators. Administrative RBAC (ARBAC) is a model for expressing the authority of administrators, thereby specifying how an organization's RBAC policy may change. Changes by one administrator may interact in unintended ways with changes by other administrators. Consequently, the effect of an ARBAC policy is hard to understand by simple inspection. In this paper, we consider the problem of analyzing ARBAC policies, in particular to determine reachability properties (e.g., whether a user can eventually be assigned to a role by a group of administrators) and availability properties (e.g., whether a user cannot be removed from a role by a group of administrators) implied by a policy. We first establish the connection between security policy analysis and planning in artificial intelligence. Based partly on this connection, we show that reachability analysis for ARBAC is PSPACE-complete. We also give algorithms and complexity results for reachability and related analysis problems for several categories of ARBAC policies, defined by simple restrictions on the policy language Amit Sasturkar, Ping Yang 0002, Scott D. Stoller, C. R. Ramakrishnan 0001 |
CSFW | 3 |
| 2006 | Querying Complex Graphs
Yanhong A. Liu, Scott D. Stoller |
PADL | 2 |
| 2006 | Accurate and efficient runtime detection of atomicity errors in concurrent programsabstractAtomicity is an important correctness condition for concurrent systems. Informally, atomicity is the property that every concurrent execution of a set of transactions is equivalent to some serial execution of the same transactions. In multi-threaded programs, executions of procedures (or methods) can be regarded as transactions. Correctness in the presence of concurrency often requires atomicity of these transactions. Tools that automatically detect atomicity violations can uncover subtle errors that are hard to find with traditional debugging and testing techniques.This paper presents new algorithms for runtime (dynamic) detection of violations of conflict-atomicity and view-atomicity, which are analogous to conflict-serializability and view-serializability in database systems. In these algorithms, the recorded events are formed into a graph with edges representing the synchronization within each transaction and possible interactions between transactions. We give conditions on the graph that imply conflict-atomicity and view-atomicity. Experiments show that these new algorithms are more efficient in most experiments and are more accurate than previous algorithms with comparable asymptotic complexity. Scott D. Stoller |
PPoPP | 2 |
| 2006 | Optimistic synchronization-based state-space reduction
Scott D. Stoller, Ernie Cohen |
Formal Methods Syst. Des. | 1 |
| 2006 | Runtime Analysis of Atomicity for Multithreaded ProgramsabstractAtomicity is a correctness condition for concurrent systems. Informally, atomicity is the property that every concurrent execution of a set of transactions is equivalent to some serial execution of the same transactions. In multithreaded programs, executions of procedures (or methods) can be regarded as transactions. Correctness in the presence of concurrency typically requires atomicity of these transactions. Tools that automatically detect atomicity violations can uncover subtle errors that are hard to find with traditional debugging and testing techniques. This paper describes two algorithms for runtime detection of atomicity violations and compares their cost and effectiveness. The reduction-based algorithm checks atomicity based on commutativity properties of events in a trace; the block-based algorithm efficiently represents the relevant information about a trace as a set of blocks (i.e., pairs of events plus associated synchronizations) and checks atomicity by comparing each block with other blocks. To improve the efficiency and accuracy of both algorithms, we incorporate a multilockset algorithm for checking data races, dynamic escape analysis, and happen-before analysis. Experiments show that both algorithms are effective in finding atomicity violations. The block-based algorithm is more accurate but more expensive than the reduction-based algorithm. Scott D. Stoller |
IEEE Trans. Software Eng. | 2 |
| 2005 | Optimized run-time race detection and atomicity checking using partial discovered typesabstractConcurrent programs are notorious for containing errors that are difficult to reproduce and diagnose. Two common kinds of concurrency errors are data races and atomicity violations (informally, atomicity means that executing methods concurrently is equivalent to executing them serially). Several static and dynamic (run-time) analysis techniques exist to detect potential races and atomicity violations. Run-time checking may miss errors in unexecuted code and incurs significant run-time overhead. On the other hand, run-time checking generally produces fewer false alarms than static analysis; this is a significant practical advantage, since diagnosing all of the warnings from static analysis of large codebases may be prohibitively expensive. This paper explores the use of static analysis to significantly decrease the overhead of run-time checking. Our approach is based on a type system for analyzing data races and atomicity. A type discovery algorithm is used to obtain types for as much of the program as possible (complete type inference for this type system is NP-hard, and parts of the program might be untypable). Warnings from the typechecker are used to identify parts of the program from which run-time checking can safely be omitted. The approach is completely automatic, scalable to very large programs, and significantly reduces the overhead of run-time checking for data races and atomicity violations. 1. Rahul Agarwal, Amit Sasturkar, Scott D. Stoller |
ASE | 4 |
| 2005 | Incrementalization across object abstractionabstractObject abstraction supports the separation of what operations are provided by systems and components from how the operations are implemented, and is essential in enabling the construction of complex systems from components. Unfortunately, clear and modular implementations have poor performance when expensive query operations are repeated, while efficient implementations that incrementally maintain these query results are much more difficult to develop and to understand, because the code blows up significantly, and is no longer clear or modular.This paper describes a powerful and systematic method that first allows the "what" of each component to be specified in a clear and modular fashion and implemented straightforwardly in an object-oriented language; then analyzes the queries and updates, across object abstraction, in the straightforward implementation; and finally derives the sophisticated and efficient "how" of each component by incrementally maintaining the results of repeated expensive queries with respect to updates to their parameters. Our implementation and experimental results for example applications in query optimization, role-based access control, etc. demonstrate the effectiveness and benefit of the method. Yanhong A. Liu, Scott D. Stoller, Michael Gorbovitski, Tom Rothamel, Yanni Ellen Liu |
OOPSLA | 2 |
| 2005 | Automated type-based analysis of data races and atomicityabstractConcurrent programs are notorious for containing errors that are difficult to reproduce and diagnose at run-time. This motivated the development of type systems that statically ensure the absence of some common kinds of concurrent programming errors including data races and atomicity violations. A method is atomic if every execution of the concurrent program is equivalent to an execution in which the atomic method is executed without being interleaved with other concurrently executed methods. Atomicity is a common correctness requirement in concurrent programs; atomicity violations may indicate incorrect synchronization. This paper presents Extended Parameterized Atomic Java (EPAJ), a type system for specifying and verifying atomicity in Java programs. EPAJ combines Flanagan and Qadeer's atomicity types [11] with a new and significantly more expressive type system for analyzing data races, called Extended Parameterized Race-Free Java (EPRFJ), allowing a more accurate analysis of atomicity. The paper also presents a type discovery algorithm to automatically obtain EPRFJ types, and a static interprocedural type inference algorithm that, given EPRFJ types, infers atomicity types. These algorithms can be incorporated into testing and debugging tools, benefiting users who know nothing about type systems. We report our experience with a prototype implementation. Amit Sasturkar, Rahul Agarwal, Scott D. Stoller |
PPoPP | 4 |
| 2005 | Static analysis of atomicity for programs with non-blocking synchronizationabstractIn concurrent programming, non-blocking synchronization is very efficient but difficult to design correctly. This paper presents a static analysis to show that code blocks are atomic, i.e., that every execution of the program is equivalent to one in which those code blocks execute without interruption by other threads. Our analysis determines commutativity of operations based primarily on how synchronization primitives (including locks, load-linked, store-conditional, and compare-and-swap) are used. A reduction theorem states that certain patterns of commutativity imply atomicity. Atomicity is itself an important correctness requirement for many concurrent programs. Furthermore, an atomic code block can be treated as a single transition during subsequent analysis of the program; this can greatly improve the efficiency of the subsequent analysis. We demonstrate the effectiveness of our approach on several concurrent non-blocking programs. Scott D. Stoller |
PPoPP | 2 |
| 2005 | Automated Analysis of Fault-Tolerance in Distributed Systems
Scott D. Stoller, Fred B. Schneider |
Formal Methods Syst. Des. | 1 |
| 2005 | Foreword
Scott D. Stoller, Willem Visser |
Formal Methods Syst. Des. | 1 |
| 2005 | Optimizing aggregate array computations in loopsabstractAn aggregate array computation is a loop that computes accumulated quantities over array elements. Such computations are common in programs that use arrays, and the array elements involved in such computations often overlap, especially across iterations of loops, resulting in significant redundancy in the overall computations. This article presents a method and algorithms that eliminate such overlapping aggregate array redundancies and shows analytical and experimental performance improvements. The method is based on incrementalization, that is, updating the values of aggregate array computations from iteration to iteration rather than computing them from scratch in each iteration. This involves maintaining additional values not maintained in the original program. We reduce various analysis problems to solving inequality constraints on loop variables and array subscripts, and we apply results from work on array data dependence analysis. For aggregate array computations that have significant redundancy, incrementalization produces drastic speedup compared to previous optimizations; when there is little redundancy, the benefit might be offset by cache effects and other factors. Previous methods for loop optimizations of arrays do not perform incrementalization, and previous techniques for loop incrementalization do not handle arrays. Yanhong A. Liu, Scott D. Stoller, Tom Rothamel |
ACM Trans. Program. Lang. Syst. | 2 |
| 2004 | Parametric regular path queriesabstractRegular path queries are a way of declaratively expressing queries on graphs as regular-expression-like patterns that are matched against paths in the graph. There are two kinds of queries: existential queries, which specify properties about individual paths, and universal queries, which specify properties about all paths. They provide a simple and convenient framework for expressing program analyses as queries on graph representations of programs, for expressing verification (model-checking) problems as queries on transition systems, for querying semi-structured data, etc. Parametric regular path queries extend the patterns with variables, called parameters, which significantly increase the expressiveness by allowing additional information along single or multiple paths to be captured and relate.This paper shows how a variety of program analysis and model-checking problems can be expressed easily and succinctly using parametric regular path queries. The paper describes the specification, design, analysis, and implementation of algorithms and data structures for efficiently solving existential and universal parametric regular path queries. Major contributions include the first complete algorithms and data structures for directly and efficiently solving existential and universal parametric regular path queries, detailed complexity analysis of the algorithms, detailed analytical and experimental performance comparison of variations of the algorithms and data structures, and investigation of efficiency tradeoffs between different formulations of queries. Yanhong A. Liu, Tom Rothamel, Fuxiang Yu, Scott D. Stoller, Nanjun Hu |
PLDI | 4 |
| 2004 | Type Inference for Parameterized Race-Free Java
Rahul Agarwal, Scott D. Stoller |
VMCAI | 2 |
| 2003 | Optimizing Ackermann's function by incrementalizationabstractThis paper describes a formal derivation of an optimized Ackermann's function following a general and systematic method based on incrementalization. The method identifies an appropriate input increment operation and computes the function by repeatedly performing an incremental computation at the step of the increment. This eliminates repeated subcomputations in executions that follow the straightforward recursive definition of Ackermann's function, yielding an optimized program that is drastically faster and takes extremely little space. This case study uniquely shows the power and limitation of the incrementalization method, as well as both the iterative and recursive nature of computation underlying the optimized Ackermann's function. Yanhong A. Liu, Scott D. Stoller |
PEPM | 2 |
| 2003 | From datalog rules to efficient programs with time and space guaranteesabstractThis paper describes a method for transforming any given set of Datalog rules into an efficient specialized implementation with guaranteed worst-case time and space complexities, and for computing the complexities from the rules. The running time is optimal in the sense that only useful combinations of facts that lead to all hypotheses of a rule being simultaneously true are considered, and each such combination is considered exactly once. The associated space usage is optimal in that it is the minimum space needed for such consideration modulo scheduling optimizations that may eliminate some summands in the space usage formula. The transformation is based on a general method for algorithm design that exploits fixed-point computation, incremental maintenance of invariants, and combinations of indexed and linked data structures. We apply the method to a number of analysis problems, some with improved algorithm complexities and all with greatly improved algorithm understanding and greatly simplified complexity analysis. Yanhong A. Liu, Scott D. Stoller |
PPDP | 2 |
| 2003 | Optimistic Synchronization-Based State-Space Reduction
Scott D. Stoller, Ernie Cohen |
TACAS | 1 |
| 2003 | Optimized Live Heap Bound Analysis
Leena Unnikrishnan, Scott D. Stoller, Yanhong A. Liu |
VMCAI | 2 |
| 2003 | Eliminating dead code on recursive data
Yanhong A. Liu, Scott D. Stoller |
Sci. Comput. Program. | 2 |
| 2002 | Domain partitioning for open reactive systemsabstractTesting or model-checking an open reactive system often requires generating a model of the environment. We describe a static analysis for Java that computes a partition of a system's inputs: inputs in the same equivalence class lead to identical behavior. The partition provides a basis for generation of code for a most general environment of the system, i.e., one that exercises all possible behaviors of the system. The partition also helps the generated environment avoid exercising the same behavior multipletimes. Many distributed systems with security requirements can be regarded as open reactive systems whose environment is an adversary-controlled network. We illustrate our approach by applying it to a fault-tolerant and intrusion-tolerant distributed voting system and model-checking the system together with the generated environment. Scott D. Stoller |
ISSTA | 1 |
| 2002 | Program optimization using indexed and recursive data structuresabstractThis paper describes a systematic method for optimizing recursive functions using both indexed and recursive data structures. The method is based on two critical ideas: first, determining a minimal input increment operation so as to compute a function on repeatedly incremented input; second, determining appropriate additional values to maintain in appropriate data structures, based on what values are needed in computation on an incremented input and how these values can be established and accessed. Once these two are determined, the method extends the original program to return the additional values, derives an incremental version of the extended program, and forms an optimized program that repeatedly calls the incremental program. The method can derive all dynamic programming algorithms found in standard algorithm textbooks. There are many previous methods for deriving efficient algorithms, but none is as simple, general, and systematic as ours. Yanhong A. Liu, Scott D. Stoller |
PEPM | 2 |
| 2002 | Model-checking multi-threaded distributed Java programs
Scott D. Stoller |
Int. J. Softw. Tools Technol. Transf. | 1 |
| 2001 | Automated Software Engineering Using Concurrent Class MachinesabstractConcurrent Class Machines are a novel state-machine model that directly captures a variety of object-oriented concepts, including classes and inheritance, objects and object creation, methods, method invocation and exceptions, multithreading and abstract collection types. The model can be understood as a precise definition of UML activity diagrams which, at the same time, offers an executable, object-oriented alternative to event-based statecharts. It can also be understood as a visual, combined control and data flow model for multithreaded object-oriented programs. We first introduce a visual notation and tool for Concurrent Class Machines and discuss their benefits in enhancing system design. We then equip this notation with a precise semantics that allows us to define refinement and modular refinement rules. Finally, we summarize our work on generation of optimized code, implementation and experiments, and compare with related work. Radu Grosu, Yanhong A. Liu, Scott A. Smolka, Scott D. Stoller |
ASE | 4 |
| 2001 | A Bound on Attacks on Payment ProtocolsabstractElectronic payment protocols are designed to work correctly in the presence of an adversary that can prompt honest principals to engage in an unbounded number of concurrent instances of the protocol. This paper establishes an upper bound on the number of protocol instances needed to attack a large class of protocols, which contains versions of some well-known electronic payment protocols, including SET and 1KP. Such bounds clarify the nature of attacks on and provide a rigorous basis for automated verification of payment protocols. Scott D. Stoller |
LICS | 1 |
| 2001 | Solving Regular Tree Grammar Based Constraints
Yanhong A. Liu, Scott D. Stoller |
SAS | 3 |
| 2001 | Strengthening invariants for efficient computation
Yanhong A. Liu, Scott D. Stoller, Tim Teitelbaum |
Sci. Comput. Program. | 2 |
| 2000 | Efficient Detection of Global Properties in Distributed Systems Using Partial-Order Methods
Scott D. Stoller, Leena Unnikrishnan, Yanhong A. Liu |
CAV | 1 |
| 2000 | From Recursion to Iteration: What are the Optimizations?abstractTransforming recursion into iteration eliminates the use of stack frames during program execution. It has been studied extensively. This paper describes a powerful and systematic method, based on incrementalization, for transforming general recursion into iteration: identify an input increment, derive an incremental version under the input increment, and form an iterative computation using the incremental version. Exploiting incrementalization yields iterative computation in a uniform way and also allows additional optimizations to be explored cleanly and applied systematically, in most cases yielding iterative programs that use constant additional space, reducing additional space usage asymptotically, and run much faster. We summarize major optimizations, complexity improvements, and performance measurements. Yanhong A. Liu, Scott D. Stoller |
PEPM | 2 |
| 2000 | Detecting Global Predicates in Distributed Systems with Clocks
Scott D. Stoller |
Distributed Comput. | 1 |
| 2000 | Leader Election in Asynchronous Distributed SystemsabstractIn a previous paper, Garcia-Molina specifies the leader election problem for synchronous and asynchronous distributed systems with crash and link failures and gives an elegant algorithm for each type of system. This paper points out a flaw in Garcia-Molina's specification of leader election in asynchronous systems and proposes a new specification. Scott D. Stoller |
IEEE Trans. Computers | 1 |
| 1999 | Dynamic Programming via Static Incrementalization
Yanhong A. Liu, Scott D. Stoller |
ESOP | 2 |
| 1999 | Lower and Upper Bounds for Attacks on Authentication ProtocolsabstractNo abstract available. Scott D. Stoller |
PODC | 1 |
| 1999 | Eliminating Dead Code on Recursive Data
Yanhong A. Liu, Scott D. Stoller |
SAS | 2 |
| 1998 | Efficient Symbolic Detection of Global Properties in Distributed Systems
Scott D. Stoller, Yanhong A. Liu |
CAV | 1 |
| 1998 | Static Caching for Incremental ComputationabstractA systematic approach is given for deriving incremental programs that exploit caching. The cache-and-prune method presented in the article consists of three stages: (I) the original program is extended to cache the results of all its intermediate subcomputations as well as the final result, (II)) the extended program is incrementalized so that computation on a new input can use all intermediate results on an old input, and (III) unused results cached by the extended program and maintained by the incremental program are pruned away, leaving a pruned extended program that caches only useful intermediate results and a pruned incremental program that uses and maintains only useful results. All three stages utilize static analyses and semantics-preserving transformations. Stages I and III are simple, clean, and fully automatable. The overall method has a kind of optimality with respect to the techniques used in Stage II. The method can be applied straightfowardly to provide a systematic approach to program improvement via caching. Yanhong A. Liu, Scott D. Stoller, Tim Teitelbaum |
ACM Trans. Program. Lang. Syst. | 2 |
| 1996 | Discovering Auxiliary Information for Incremental ComputationabstractThis paper presents program analyses and transformations that discover a general class of auxiliary information for any incremental computation problem. Combining these techniques with previous techniques for caching intermediate results, we obtain a systematic approach that transforms nonincremental programs into efficient incremental programs that use and maintain useful auxiliary information as well as useful intermediate results. The use of auxiliary information allows us to achieve a greater degree of incrementality than otherwise possible. Applications of the approach include strength reduction in optimizing compilers and finite differencing in transformational programming. Yanhong A. Liu, Scott D. Stoller, Tim Teitelbaum |
POPL | 2 |
| 1995 | Storage Replication and Layout in Video-on-Demand Servers
Scott D. Stoller, John DeTreville |
NOSSDAV | 1 |
| 1995 | Verifying Programs That Use Causally-Ordered Message-PassingabstractWe give an operational model of causally-ordered message-passing primitives. Based on this model, we formulate a Hoare-style proof system for causally-ordered delivery. To illustrate the use of this proof system and to demonstrate the feasibility of applying invariant-based verification techniques to algorithms that depend on causally-ordered delivery, we verify an asynchronous variant of the distributed termination detection algorithm of Dijkstra, Feijen, and van Gasteren. Scott D. Stoller, Fred B. Schneider |
Sci. Comput. Program. | 1 |
| 1994 | Addendum to "Proof Rules for Flush Channels"abstractThe logic presented in a previous paper, see ibid., vol. 19, no.4, p.366-78 (1993) for processes that communicate using flush channels is inadequate for reasoning about processes that send multiple identical messages along a channel. A modification to the logic and proof system that remedies this deficiency is described herein.> Scott D. Stoller |
IEEE Trans. Software Eng. | 1 |