19 Hits in 0.62 sec

Patterns of optimized loops

Samira Tasharofi, Ralph Johnson
2010 Proceedings of the 2010 Workshop on Parallel Programming Patterns - ParaPLoP '10  
Loop constructs play an important role in obtaining speedup in parallel programming. In this paper, we explain the solutions applied for optimizing loops in parallel programs in terms of three patterns for parallel programming. These patterns can be used for parallel programming by users who have medium background on parallel programming and compiler courses. They can also be implemented in the compilers as a part of program optimization process.
doi:10.1145/1953611.1953617 fatcat:jpaprhjxprgphkgtrvd4y5zqeq

Automated Mapping of Reo Circuits to Constraint Automata

Fatemeh Ghassemi, Samira Tasharofi, Marjan Sirjani
2006 Electronical Notes in Theoretical Computer Science  
A tool is developed in order to input Reo circuits and generate their corresponding constraint automata. The XML schemas for input and output are presented which establish a common interface for generating an integrated set of tools. Two heuristics in joining constraint automata are presented and experimental results are shown.
doi:10.1016/j.entcs.2005.12.064 fatcat:24d6g7ty2bay3gpxeful46me2u

Why Do Scala Developers Mix the Actor Model with other Concurrency Models? [chapter]

Samira Tasharofi, Peter Dinges, Ralph E. Johnson
2013 Lecture Notes in Computer Science  
Mixing the actor model with other concurrency models in a single program can break the actor abstraction. This increases the chance of creating deadlocks and data races-two mistakes that are hard to make with actors. Furthermore, it prevents the use of many advanced testing, modeling, and verification tools for actors, as these require pure actor programs. This study is the first to point out the phenomenon of mixing concurrency models and to systematically identify the factors leading to it.
more » ... studied 15 large, mature, and actively maintained actor programs written in Scala and found that 80% of them mix the actor model with another concurrency model. Consequently, a large part of real-world actor programs does not use actors to their fullest advantage. Inspection of the programs and discussion with the developers reveal two reasons for mixing that can be influenced by researchers and library-builders: weaknesses in the actor library implementations, and shortcomings of the actor model itself. The actor model [1] for concurrent and parallel programming is gaining popularity as multi-core architectures and computing clouds become common platforms. The model's restriction of communication to asynchronous message-passing simplifies reasoning about concurrency, guarantees scalability, allows distributing the program over the network, and enables efficient tools for testing [11, 22] , modeling [20] and verifying [23] actor programs. These advantages, however, depend on an intact actor abstraction. Programmers mixing the actor model with other concurrency models can easily break the abstraction. It increases their chance of committing mistakes that the actor semantics carefully avoid: shared state between actors breaks transparent distribution and can introduce fine-grained data races; and blocking and synchronous communication can lead to deadlocks. Furthermore, most of the tools for testing actor programs lose their efficiency when used on programs that mix concurrency models. When examining Scala [16] programs available from public github 1 repositories that use either the original Scala actor library or Akka [10], we discovered 1
doi:10.1007/978-3-642-39038-8_13 fatcat:qlqxnuhzbjayjdcj67jn3godoe

Bita: Coverage-guided, automatic testing of actor programs

Samira Tasharofi, Michael Pradel, Yu Lin, Ralph Johnson
2013 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE)  
Actor programs are concurrent programs where concurrent entities communicate asynchronously by exchanging messages. Testing actor programs is challenging because the order of message receives depends on the non-deterministic scheduler and because exploring all schedules does not scale to large programs. This paper presents Bita, a scalable, automatic approach for testing non-deterministic behavior of actor programs. The key idea is to generate and explore schedules that are likely to reveal
more » ... urrency bugs because these schedules increase the schedule coverage. We present three schedule coverage criteria for actor programs, an algorithm to generate feasible schedules that increase coverage, and a technique to force a program to comply with a schedule. Applying Bita to real-world actor programs implemented in Scala reveals eight previously unknown concurrency bugs, of which six have already been fixed by the developers. Furthermore, we show our approach to find bugs 122x faster than random scheduling, on average. 1 Bita in Persian means "unique". 1 class Writer extends Actor { 2 var results = ArrayBuffer[String]() 3 def receive() = { // called when a message is removed from the mail box 4 case Write(result:String) => // if the message is Write(result) 5 results.append(result) 6 case Flush => { // if the message is Flush 7 writeToExternal(results) // write the results into the external storage 8 results = null 9 sender ! Flushed // send message Flushed to the sender 10
doi:10.1109/ase.2013.6693072 dblp:conf/kbse/TasharofiPLJ13 fatcat:dsp3r27qnrclzalmjjoyurcrju

Formal Modeling and Conformance Validation for WS-CDL using Reo and CASM

Samira Tasharofi, Marjan Sirjani
2009 Electronical Notes in Theoretical Computer Science  
WS-CDL is a choreography language that describes peer-to-peer collaborations of participants by defining their common and complementary observable behaviors from a global viewpoint. The main use of a choreography description is to precisely define the sequence of interactions between a set of cooperating web services in order to promote a common understanding between participants and to make it easy to automatically validate conformance and ensure interoperability. To this purpose, WS-CDL must
more » ... e based on or related to a formal language that provides these validation capabilities. In this paper, we benefit from Reo and Constraint Automata with State Memory (CASM) to address this problem by providing a unified formalism for choreography and orchestration. Furthermore, we show how to exploit this formalism for conformance validation by giving proper definitions for end-point projection and conformance problem.
doi:10.1016/j.entcs.2009.06.034 fatcat:roijdmfrerhepgwf6lqi37gn7a

TransDPOR: A Novel Dynamic Partial-Order Reduction Technique for Testing Actor Programs [chapter]

Samira Tasharofi, Rajesh K. Karmani, Steven Lauterburg, Axel Legay, Darko Marinov, Gul Agha
2012 Lecture Notes in Computer Science  
To detect hard-to-find concurrency bugs, testing tools try to systematically explore all possible interleavings of the transitions in a concurrent program. Unfortunately, because of the nondeterminism in concurrent programs, exhaustively exploring all interleavings is timeconsuming and often computationally intractable. Speeding up such tools requires pruning the state space explored. Partial-order reduction (POR) techniques can substantially prune the number of explored interleavings. These
more » ... hniques require defining a dependency relation on transitions in the program, and exploit independency among certain transitions to prune the state space. We observe that actor systems, a prevalent class of programs where computation entities communicate by exchanging messages, exhibit a dependency relation among co-enabled transitions with an interesting property: transitivity. This paper introduces a novel dynamic POR technique, TransDPOR, that exploits the transitivity of the dependency relation in actor systems. Empirical results show that leveraging transitivity speeds up exploration by up to two orders of magnitude compared to existing POR techniques.
doi:10.1007/978-3-642-30793-5_14 fatcat:4zeimxsztfe7tjplbx2vy3ovny


Mohsen Vakilian, Stas Negara, Samira Tasharofi, Ralph E. Johnson
2011 Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion - SPLASH '11  
Presenters Mohsen Vakilian and Samira Tasharofi are PhD students at the University of Illinois. Mohsen is interested in improving the programming environments for parallel programming.  ...  Samira is interested in concurrency bug patterns and testing concurrent programs. She has been working on partial order reduction and tools for testing message-passing programs.  ... 
doi:10.1145/2048147.2048167 dblp:conf/oopsla/VakilianNTJ11 fatcat:cp7iek4dabfnzda3a5ny6d7uqu

Evaluation of statistical part of speech tagging of persian text

Samira Tasharofi, Fahimeh Raja, Farhad Oroumchian, Masoud Rahgozar
2007 2007 9th International Symposium on Signal Processing and Its Applications  
Part of Speech (POS) tagging is an essential part of text processing applications. A POS tagger assigns a tag to each word of its input text specifying its grammatical properties. One of the popular POS taggers is TnT tagger which was shown to have high accuracy in English and some other languages. It is always interesting to see how a method in one language performs on another language because it would give us insight into the difference and similarities of the languages. In case of
more » ... methods such as TnT, this will have an added practical advantages also. This paper presents creation of a POS tagged corpus and evaluation of TnT tagger on Persian text. The results of experiments on Persian text show that TnT provides overall tagging accuracy of 96.64%, specifically, 97.01% on known words and 77.77% on unknown words.
doi:10.1109/isspa.2007.4555312 dblp:conf/isspa/TasharofiROR07 fatcat:fxup43sqprd2pfluzjjtaj65iu

Process Patterns for Agile Methodologies [chapter]

Samira Tasharofi, Raman Ramsin
IFIP — The International Federation for Information Processing  
Please use the fotlowing fo,wtat when citing this chapter: Tasharofi, S., Ramsin, R., 2007, in IFIP International Federation for Information Processing, Volume 244, Situational Method Engineering: Fundamentals  ... 
doi:10.1007/978-0-387-73947-2_18 dblp:conf/ifip8-1/TasharofiR07 fatcat:l7yirzso35hi3jih5hxghp2bpy


Steven Lauterburg, Rajesh K. Karmani, Darko Marinov, Gul Agha
2010 Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering - FSE '10  
We would like to thank Mirco Dotta, Milos Gligoric, Vilas Jagannath, and Samira Tasharofi for their help on this project.  ... 
doi:10.1145/1882291.1882349 dblp:conf/sigsoft/LauterburgKMA10 fatcat:uxhn4ywfyjgqrndo4gmgd7y7c4


Brett Daniel, Danny Dig, Tihomir Gvero, Vilas Jagannath, Johnston Jiaa, Damion Mitchell, Jurand Nogiec, Shin Hwei Tan, Darko Marinov
2011 Proceeding of the 33rd international conference on Software engineering - ICSE '11  
We would like to thank Rob Bocchino, Milos Gligoric, Bobak Hadidi, Munawar Hafiz, Viktor Kuncak, Steven Lauterburg, Yun Young Lee, Samira Tasharofi, Nikolai Tillmann, and Mohsen Vakilian for help and valuable  ... 
doi:10.1145/1985793.1985978 dblp:conf/icse/DanielDGJJMNTM11 fatcat:japqg7ysgjexdm3r5xixaqvlqm

Targeted Test Generation for Actor Systems

Sihan Li, Farah Hariri, Gul Agha, Michael Wagner
2018 European Conference on Object-Oriented Programming  
Springer, 2013. 37 Samira Tasharofi, Rajesh K Karmani, Steven Lauterburg, Axel Legay, Darko Marinov, and Gul Agha.  ...  Springer, 2012. 38 Samira Tasharofi, Michael Pradel, Yu Lin, and Ralph Johnson. Bita: Coverage-guided, automatic testing of actor programs.  ... 
doi:10.4230/lipics.ecoop.2018.8 dblp:conf/ecoop/LiHA18 fatcat:xohaf2rs6bcdvjl5ziuwa2ysma

Evaluating Ordering Heuristics for Dynamic Partial-Order Reduction Techniques [chapter]

Steven Lauterburg, Rajesh K. Karmani, Darko Marinov, Gul Agha
2010 Lecture Notes in Computer Science  
The authors would like to thank Mirco Dotta, Stoyan Gaydarov, and Bobak Hadidi for their help in preparing evaluation subjects, and Samira Tasharofi for discussions and other assistance during the course  ... 
doi:10.1007/978-3-642-12029-9_22 fatcat:duwf53b46zh73b2tt5nm32ha2u

Alternate refactoring paths reveal usability problems

Mohsen Vakilian, Ralph E. Johnson
2014 Proceedings of the 36th International Conference on Software Engineering - ICSE 2014  
ACKNOWLEDGMENTS We thank David Akers, Brian Bailey, Nicholas Chen, Milos Gligoric, Hamid Jahani, Stas Negara, Cosmin Radoi, Samira Tasharofi, and Roshanak Zilouchian Moghaddam for their valuable feedback  ... 
doi:10.1145/2568225.2568282 dblp:conf/icse/VakilianJ14 fatcat:goxvw2swavfnfjhwiij75qoa6e

Inferring ownership transfer for efficient message passing

Stas Negara, Rajesh K. Karmani, Gul Agha
2011 Proceedings of the 16th ACM symposium on Principles and practice of parallel programming - PPoPP '11  
We would like to acknowledge the assistance of Philipp Haller in obtaining Scala programs, and Samira Tasharofi, Steven Lauterburg, and others for providing actor programs.  ... 
doi:10.1145/1941553.1941566 dblp:conf/ppopp/NegaraKA11 fatcat:6jpabpyxxjdx3eyafmubls237e
« Previous Showing results 1 — 15 out of 19 results