Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.

Mandana Vaziri

dblp:05/2667 · also Mandana Vaziri-Farahani · DBLP profile ↗
← Back
19ranked-venue papers
5as first author
1since 2021 · last 2023
0009-0002-9165-3500ORCID · corroborated

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

Software engineering, systems software and programming languages · 17 · 5 first-author · 1 since 2021Systems, architecture and hardware · 1Databases, data management, data science and information retrieval · 1

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

Software engineering, system software, and programming languages
10 papers
Program verification · 26% Concurrent programming · 25% Software testing · 25%
Computer architecture, parallel and distributed computing, and storage systems
2 papers
Cloud and datacenter computing · 51% Parallel and multicore computing · 44% High-performance computing · 4%

Topics — the 22 heaviest of 25, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Software testing › system testing
end-to-end testing
0.712023
Acto: Automatic End-to-End Testing for Operation Correctness of Cloud System Management · SOSP 2023
Cloud and datacenter computing
cloud management
0.712023
Acto: Automatic End-to-End Testing for Operation Correctness of Cloud System Management · SOSP 2023
Program analysis
static analysis
0.332013
Detecting deadlock in programs with data-centric synchronization · ICSE 2013
Associating synchronization constraints with data in an object-oriented language · POPL 2006
Finding bugs with a constraint solver · ISSTA 2000
Program verification › formal program development
correctness by construction
0.212016
Correct or usable? the limits of traditional verification (impact paper award) · SIGSOFT FSE 2016
Concurrent programming › synchronization
data-centric synchronization
0.222013
A data-centric approach to synchronization · ACM Trans. Program. Lang. Syst. 2012
Detecting deadlock in programs with data-centric synchronization · ICSE 2013
Parallel and multicore computing › parallel computing
parallel programming languages
0.212014
X10 and APGAS at Petascale · PPoPP 2014
Parallel and multicore computing
parallel programming models
0.212014
X10 and APGAS at Petascale · PPoPP 2014
Parallel and multicore computing › parallel programming models › distributed memory programming models
partitioned global address space
0.212014
X10 and APGAS at Petascale · PPoPP 2014
Concurrent programming
deadlock detection
0.212013
Detecting deadlock in programs with data-centric synchronization · ICSE 2013
Program analysis
type-based analysis
0.212013
Detecting deadlock in programs with data-centric synchronization · ICSE 2013
Concurrent programming
memory models
0.112010
MemSAT: checking axiomatic specifications of memory models · PLDI 2010
Program verification
specification verification
0.122007
Finding bugs efficiently with a SAT solver · ESEC/SIGSOFT FSE 2007
Finding bugs with a constraint solver · ISSTA 2000
Program analysis
dynamic analysis
0.112008
Dynamic detection of atomic-set-serializability violations · ICSE 2008
Program analysis › static analysis
program slicing
0.112007
Finding bugs efficiently with a SAT solver · ESEC/SIGSOFT FSE 2007
Program verification › constraint-based verification
SAT-based verification
0.112007
Finding bugs efficiently with a SAT solver · ESEC/SIGSOFT FSE 2007
Concurrent programming › concurrency bugs
data races
0.112006
Associating synchronization constraints with data in an object-oriented language · POPL 2006
Concurrent programming › synchronization
synchronization synthesis
0.112006
Associating synchronization constraints with data in an object-oriented language · POPL 2006
High-performance computing › supercomputing
petascale computing
0.112014
X10 and APGAS at Petascale · PPoPP 2014
Programming languages and type systems
type systems
0.012012
A data-centric approach to synchronization · ACM Trans. Program. Lang. Syst. 2012
Program verification
model checking
0.011995
Model Checking Software Systems: A Case Study · SIGSOFT FSE 1995
Program verification › model checking
software model checking
0.011995
Model Checking Software Systems: A Case Study · SIGSOFT FSE 1995
Software testing
test generation
0.012000
Finding bugs with a constraint solver · ISSTA 2000

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

state-reconciliation · 1.3declarative interfaces · 1.3verification · 0.2higher-level abstraction · 0.2asynchronous partitioned global address space · 0.2SAT solving · 0.2type-based static analysis · 0.2lock ordering annotations · 0.2bounded model checking · 0.1constraint solving · 0.1data-race detection · 0.1
YearPublicationVenuePosition
2023 Acto: Automatic End-to-End Testing for Operation Correctness of Cloud System Management
abstract
Cloud systems are increasingly being managed by operation programs termed operators, which automate tedious, human-based operations. Operators of modern management platforms like Kubernetes, Twine, and ECS implement declarative interfaces based on the state-reconciliation principle. An operation declares a desired system state and the operator automatically reconciles the system to that declared state.
Jiawei Tyler Gu, Xudong Sun 0013, Yuxuan Jiang 0016, Chen Wang 0039, Mandana Vaziri, Owolabi Legunsen, Tianyin Xu
SOSP6
2016 Correct or usable? the limits of traditional verification (impact paper award)
abstract
Since our work on verification sixteen years ago, our views of the role of verification, and the centrality of correctness, have evolved. In our presentation, we’ll talk about some of our concerns about the limitations of this kind of technology, including: usability as a key factor; the unknowable properties of the environment; and the inadequacy of specifications as a means of capturing users’ desires. We’ll describe two approaches we’re currently working on to mitigate these concerns — (1) moving to higher level abstractions with correctness by construction and (2) focusing on the conceptual structure of applications — and will argue that, combined with traditional verification tools, these offer the possibility of applications that are both usable and correct.
Daniel Jackson 0001, Mandana Vaziri
SIGSOFT FSE2
2016 An Executable Specification for SPARQL
Mihaela A. Bornea, Julian Dolby, Achille Fokoue, Anastasios Kementsietsidis, Kavitha Srinivas, Mandana Vaziri
WISE (2)6
2014 Stream Processing with a Spreadsheet
Mandana Vaziri, Olivier Tardieu, Rodric M. Rabbah, Philippe Suter, Martin Hirzel
ECOOP1
2014 X10 and APGAS at Petascale
abstract
X10 is a high-performance, high-productivity programming language aimed at large-scale distributed and shared-memory parallel applications. It is based on the Asynchronous Partitioned Global Address Space (APGAS) programming model, supporting the same fine-grained concurrency mechanisms within and across shared-memory nodes.
Olivier Tardieu, Benjamin Herta, David Cunningham, David Grove, Prabhanjan Kambadur, Vijay A. Saraswat, Avraham Shinnar, Mikio Takeuchi, Mandana Vaziri
PPoPP9
2013 Detecting deadlock in programs with data-centric synchronization
abstract
Previously, we developed a data-centric approach to concurrency control in which programmers specify synchronization constraints declaratively, by grouping shared locations into atomic sets. We implemented our ideas in a Java extension called AJ, using Java locks to implement synchronization. We proved that atomicity violations are prevented by construction, and demonstrated that realistic Java programs can be refactored into AJ without significant loss of performance. This paper presents an algorithm for detecting possible deadlock in AJ programs by ordering the locks associated with atomic sets. In our approach, a type-based static analysis is extended to handle recursive data structures by considering programmer-supplied, compiler-verified lock ordering annotations. In an evaluation of the algorithm, all 10 AJ programs under consideration were shown to be deadlock-free. One program needed 4 ordering annotations and 2 others required minor refactorings. For the remaining 7 programs, no programmer intervention of any kind was required.
Daniel Marino, Christian Hammer 0001, Julian Dolby, Mandana Vaziri, Frank Tip, Jan Vitek
ICSE4
2012 A data-centric approach to synchronization
abstract
Concurrency-related errors, such as data races, are frustratingly difficult to track down and eliminate in large object-oriented programs. Traditional approaches to preventing data races rely on protecting instruction sequences with synchronization operations. Such control-centric approaches are inherently brittle, as the burden is on the programmer to ensure that all concurrently accessed memory locations are consistently protected. Data-centric synchronization is an alternative approach that offloads some of the work on the language implementation. Data-centric synchronization groups fields of objects into atomic sets to indicate that these fields must always be updated atomically. Each atomic set has associated units of work , that is, code fragments that preserve the consistency of that atomic set. Synchronization operations are added automatically by the compiler. We present an extension to the Java programming language that integrates annotations for data-centric concurrency control. The resulting language, called AJ, relies on a type system that enables separate compilation and supports atomic sets that span multiple objects and that also supports full encapsulation for more efficient code generation. We evaluate our proposal by refactoring classes from standard libraries, as well as a number of multithreaded benchmarks, to use atomic sets. Our results suggest that data-centric synchronization is easy to use and enjoys low annotation overhead, while successfully preventing data races. Moreover, experiments on the SPECjbb benchmark suggest that acceptable performance can be achieved with a modest amount of tuning.
Julian Dolby, Christian Hammer 0001, Daniel Marino, Frank Tip, Mandana Vaziri, Jan Vitek
ACM Trans. Program. Lang. Syst.5
2011 Finding concurrency-related bugs using random isolation
Nicholas Kidd, Thomas W. Reps, Julian Dolby, Mandana Vaziri
Int. J. Softw. Tools Technol. Transf.4
2010 A Type System for Data-Centric Synchronization
Mandana Vaziri, Frank Tip, Julian Dolby, Christian Hammer 0001, Jan Vitek
ECOOP1
2010 MemSAT: checking axiomatic specifications of memory models
abstract
Memory models are hard to reason about due to their complexity, which stems from the need to strike a balance between ease-of-programming and allowing compiler and hardware optimizations. In this paper, we present an automated tool, MemSAT, that helps in debugging and reasoning about memory models. Given an axiomatic specification of a memory model and a multi-threaded test program containing assertions, MemSAT outputs a trace of the program in which both the assertions and the memory model axioms are satisfied, if one can be found. The tool is fully automatic and is based on a SAT solver. If it cannot find a trace, it outputs a minimal subset of the memory model and program constraints that are unsatisfiable. We used MemSAT to check several existing memory models against their published test cases, including the current Java Memory Model by Manson et al. and a revised version of it by Sevcik and Aspinall. We found subtle discrepancies between what was expected and the actual results of test programs.
Emina Torlak, Mandana Vaziri, Julian Dolby
PLDI2
2009 Finding Concurrency-Related Bugs Using Random Isolation
Nicholas Kidd, Thomas W. Reps, Julian Dolby, Mandana Vaziri
VMCAI4
2008 Dynamic detection of atomic-set-serializability violations
abstract
Previously we presented atomic sets, memory locations that share some consistency property, and units of work, code fragments that preserve consistency of atomic sets on which they are declared. We also proposed atomic-set serializability as a correctness criterion for concurrent programs, stating that units of work must be serializable for each atomic set. We showed that a set of problematic data access patterns characterize executions that are not atomic-set serializable. Our criterion subsumes data races (single-location atomic sets) and serializability (all locations in one set).
Christian Hammer 0001, Julian Dolby, Mandana Vaziri, Frank Tip
ICSE3
2007 Declarative Object Identity Using Relation Types
Mandana Vaziri, Frank Tip, Stephen J. Fink, Julian Dolby
ECOOP1
2007 Finding bugs efficiently with a SAT solver
abstract
We present an approach for checking code against rich specifications, based on existing work that consists of encoding the program in a relational logic and using a constraint solver to find specification violations. We improve the efficiency of this approach with a new encoding of the program that effectively slices it at the logical level with respect to the specification. We also present new encodings for integer values and arrays, enabling the verification of realistic fragments of code that manipulate both. Our technique can handle integers of much larger ranges than previously possible, and permits large sparse arrays to be handled efficiently.
Julian Dolby, Mandana Vaziri, Frank Tip
ESEC/SIGSOFT FSE2
2006 Associating synchronization constraints with data in an object-oriented language
abstract
Concurrency-related bugs may happen when multiple threads access shared data and interleave in ways that do not correspond to any sequential execution. Their absence is not guaranteed by the traditional notion of "data race" freedom. We present a new definition of data races in terms of 11 problematic interleaving scenarios, and prove that it is complete by showing that any execution not exhibiting these scenarios is serializable for a chosen set of locations. Our definition subsumes the traditional definition of a data race as well as high-level data races such as stale-value errors and inconsistent views. We also propose a language feature called atomic sets of locations, which lets programmers specify the existence of consistency properties between fields in objects, without specifying the properties themselves. We use static analysis to automatically infer those points in the code where synchronization is needed to avoid data races under our new definition. An important benefit of this approach is that, in general, far fewer annotations are required than is the case with existing approaches such as synchronized blocks or atomic sections. Our implementation successfully inferred the appropriate synchronization for a significant subset of Java's Standard Collections framework.
Mandana Vaziri, Frank Tip, Julian Dolby
POPL1
2003 Checking Properties of Heap-Manipulating Procedures with a Constraint Solver
Mandana Vaziri, Daniel Jackson 0001
TACAS1
2000 Finding bugs with a constraint solver
abstract
Article Free Access Share on Finding bugs with a constraint solver Authors: Daniel Jackson MIT Laboratory for Computer Science, 545 Technology Square, Cambridge, Massachusetts MIT Laboratory for Computer Science, 545 Technology Square, Cambridge, MassachusettsView Profile , Mandana Vaziri MIT Laboratory for Computer Science, 545 Technology Square, Cambridge, Massachusetts MIT Laboratory for Computer Science, 545 Technology Square, Cambridge, MassachusettsView Profile Authors Info & Claims ISSTA '00: Proceedings of the 2000 ACM SIGSOFT international symposium on Software testing and analysisAugust 2000 Pages 14–25https://doi.org/10.1145/347324.383378Online:01 August 2000Publication History 141citation1,074DownloadsMetricsTotal Citations141Total Downloads1,074Last 12 Months48Last 6 weeks6 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my Alerts New Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteeReaderPDF
Daniel Jackson 0001, Mandana Vaziri
ISSTA2
1997 A Case study in Model Checking Software Systems
Jeannette M. Wing, Mandana Vaziri
Sci. Comput. Program.2
1995 Model Checking Software Systems: A Case Study
abstract
article Free Access Share on Model checking software systems: a case study Authors: Jeannette M. Wing Computer Science Department, Carnegie Mellon University, 5000 Forbes Avenue, Pittsburgh, Pennsylvania Computer Science Department, Carnegie Mellon University, 5000 Forbes Avenue, Pittsburgh, PennsylvaniaView Profile , Mandana Vaziri-Farahani Electrical and Computer Engineering Department, Carnegie Mellon University, 5000 Forbes Avenue, Pittsburgh, Pennsylvania Electrical and Computer Engineering Department, Carnegie Mellon University, 5000 Forbes Avenue, Pittsburgh, PennsylvaniaView Profile Authors Info & Claims ACM SIGSOFT Software Engineering NotesVolume 20Issue 4Oct. 1995 pp 128–139https://doi.org/10.1145/222132.222148Published:01 October 1995Publication History 46citation752DownloadsMetricsTotal Citations46Total Downloads752Last 12 Months14Last 6 weeks3 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteeReaderPDF
Jeannette M. Wing, Mandana Vaziri
SIGSOFT FSE2