Saturday, May 11, 2013

My Publication in SATURN 2013 Architecture Conference



This work describes a solution to a costly problem that surfaces in software product engineering on Objective C technology stack. Particularly, it emerges when designing a software product targeting both OS X and iOS where a significant part of the functionality is common for both platforms. This brings in the question of how much code can be reused between the two implementations.

A multitude of concerns need to be probed and the solution domain can easily be a victim of combinatorial explosion. Like in many other cases, analysis in terms of design patterns can put things in perspective. Both Cocoa and Cocoa Touch (standard frameworks for application development in OS X and iOS respectively) highly encourage embracement of MVC as a design pattern. It is even a necessity for utilizing certain parts of the two frameworks. Therefore, it is wise to keep our solution inside the MVC design paradigm. Our exploration to the solution starts with a close examination of MVC and the role played by each component in the design pattern.

Controllers in both Cocoa and Cocoa Touch are responsible for managing views and responding to user actions, embracing Strategy pattern. They are tightly bound to the views they control and  therefore are hardly useful outside the context of that particular view. At the same time views and controllers in OS X (based on NSView and NSViewController respectively) are disparate from views and controllers in iOS (based on UIView and UIViewController respectively). This is mostly due to differences between the two platforms.  It inevitably confines cross-platform reusable space to model classes. On the other hand, it is not very unlikely to have certain views in the product that are supposed to appear and respond to user events in similar ways in the two platforms. Failure to exploit this cleverly in the architecture can lead to code replication causing less maintainability. It will also disrupt the homogeneity in user interface semantics of the application between the two platforms. Thereby strict adherence to traditional MVC hinders the architect from harnessing the power of this domain artifact.



Strict MVC is not the only blockade for reusing user interface semantics between OS X and iOS. There is another prominent disparity between Cocoa and Cocoa Touch in terms of the degree of support to implement Observer pattern between models and views. Cocoa supports configuring bidirectional bindings between views and models straightaway through Interface Builder (designer tool used for OS X and iOS application development) whereas Cocoa Touch does not. iOS developer has to craft a bidirectional binding solution atop framework-provided Key Value Observing and Key Value Coding patterns.

The above reasons compel the solution space for implementing generic user interface logic to stay outside of framework-provided, and hence platform-specific view and controller base classes. However, user interface logic does not naturally fit inside models in MVC too. A diligent analysis would make it clear that the need here is a cluster of classes where each one stands as an abstraction of a particular view. This relates closely to the idea of view models  in MVVM design pattern which is popular in Windows application development. In MVVM paradigm, a view model is a container for data that are shown and manipulated in a view along with behavioral logic that rules user interaction with the view.  A view model is not supposed to know about specific view instances while it is the view that hooks into the view model.



As a means of encapsulating generic user interface logic we experimented implementing view models to supplement the MVC design. Our architecture comprised models, views, controllers and view models . Solution constituents are as follows.
  1. Models encapsulating business logic, data logic, etc. are implemented by following the typical MVC notion. These classes are reused between OS X and iOS.
  2. View models implement the common parts of user interface. Each view model contains data shown in its intended view and user interaction behaviors. View models are also shared between the implementations for two platforms.
  3. Views in OS X implementation bind their data to corresponding view model data members. This ensures that changes in views are reflected in view models and vice versa without any glue code.
  4. Views in  iOS implementation hook into the same view models as used by OS X. They make use of user interaction logic in view models in a similar way. However, data binding with view models needs to be implemented explicitly. The glue code is implemented in controllers using Key Value Observing and Key Value Coding.
  5. In both OS X and iOS implementations controller classes are responsible for managing views. Since bidirectional bindings between views and models are configured via Interface Builder, controllers in OS X implementation are very lightweight. Controllers in iOS, on the other hand, require glue code that implements bidirectional bindings in addition to view management code.
  6. Similar to MVVM pattern, views do not directly associate with models. Any data contained in models that require being accessed by views are exposed to views through view models.



This scheme enables developers to implement common user interface logic in view models that are shared between the two implementations. In addition to the key benefit of improved code reuse, it delivers numerous other advantages too.
  • Clearly separating common user interface logic into view models enhances readability and maintainability by making it easier to distinguish between common user interface behavior and platform-specific nuances.
  • Keeping user interface logic in view models improves testability compared to keeping it in controllers because testing the later needs view mocks while the former does not.


Taking the best advantage of this design requires adherence to few disciplines.
  • Since the view models are to be shared between the implementations for two platforms it is necessary to limit the use of framework classes inside view model code only to the common ones between Cocoa and Cocoa Touch. Our use of the design in practical projects proves that this is not a prohibitive limitation since all platform-specific code usually lands in either views or controllers.
  • When there is a need for binding a view to a bunch of data members in a model object, it is advisable to expose the model object through the view model (using composition) rather than implementing proxy data members inside the view model. Later approach would generate lot of overhead to keep data members in view model and their counterparts inside model object in sync.


View models generally sound alien to Objective C world. However, our experimentation with the design explained above yielded clear evidence that view models, once employed in combination with MVC in architectures for products targeting both OS X and iOS, carry enormous potential to boost code reuse in addition to several other advantages. We tested it in a product that was developed for both Mac and iPad. We believe that it will serve as a generic design pattern for similar cases.

Wednesday, March 6, 2013

Are you stupid enough to be a leader?



What does it really take to become a leader? To be a celebrated figure like a king, president, mayor, CEO? I claim the bottom line is that the character needs to be dumb or ignorant enough to withstand the stupid duties and rituals that a regular leader has to perform. I rate stupidity above all other characteristics of a great leader. Are you skeptical? Look around and you’ll see. Don’t be judgmental though.  I got two strong examples to convince you. First one is from Hollywood, which I partly steal from one of Slavoj Zizek’s lectures. Second one (the better one) is from Sri Lanka and is entirely mine.

King’s Speech
The movie unveils the story of King George VI of Britain who assumed throne at the time of World War II. However, he had a terrific problem; a stammer. Because of that he was unable to address the nation strongly in a way that a king is supposed to. This was frustrating for the entire nation, as the British needed a strong spiritual leadership more than ever before. On one side, Hitler was attracting masses through his hypnotic speeches, while on the other side British had a king who could not utter five words in sequence.

British royal family made all attempts to cure king’s stammer. All top qualified speech therapists failed in developing his speaking abilities to a satisfactory level. Driven by frustration, the queen decides to bring her husband to an unorthodox (and unqualified) Australian therapist, Lionel Logue, who uses weird techniques to bring speaking abilities to people who struggle with it. Although he is not very well qualified for the job Lionel has achieved remarkable success with the experience in helping people who lost speech because of traumatic experiences during World War I. After diagnosing king’s problem, he makes a radical judgment. His conclusion is that King George VI is too intelligent to be a king. The king has to suppress his intelligence to cope with the stupid duties he gets as a king, and the suppression returns in subconscious to cause stammer.

Lionel sees only two options available for the king.
1     1. To be intelligent so keeping the stammer
2     2. Kill his intelligence to become stupid like other kings and gain speaking ability

Hitler had already invaded France and from the Eastern front had penetrated Russia to a great deal. It was a time to worry about the future of entire Europe; not about a single person’s intellectual fidelity. So Lionel decides to go ahead with the second option. Through a series of utterly stupid exercises he manages to slowly make the king blunt. In a seen towards the end of the movie, Lionel sits on king’s seat in Westminster Abbey. The king loses his cool and yells Lionel to get out of it, to be asked back “Why?”. King responds asserting that the seat belongs only to him by the divine law of British monarchy. This brings a grim into Lionel’s face as he learns that the king is now stupid enough to believe on that crap. His therapy is apparently successful. King starts to speak relatively well and you know the result of World War II.  

Subha & Yasa
This is a classic from Sri Lankan history. It’s about a king (Yasa) and his lookalike Subha (security guard in the palace). To fool ministers and the rest of the elite, Subha and Yasa used to exchange their costumes and thereby the identity. Then they made fun watching high ranked guys greeting the security guard in the guise of king. On one day Subha decided to exploit this joke and insisted that he is the real king. When the stupid (real) king opposed he ordered him being killed. This is the version in “Mahavansaya” (mainstream book that narrates Sri Lankan history) and is only good enough as bead time reading for children (isn’t it?). However, the renowned Sinhala author Simon Nawagattegama came up with a beautiful interpretation in his stage drama named “Subha & Yasa”. Here is his version (more accurately, my interpretation on his version).

Yasalalakathissa (Yasa in short) is not happy about the crown he inherited. His problem is same as that of King George VI; he is too intelligent to be a king. He precisely knows that ministers are lying to him and the entire palace is a mega-fake built for his gaze. It annoys him when ‘vandibhattayas’ are singing ‘prashasthi’ (In Sri Lanka vandibhattayas are people who sing to the king songs that admire him, to make a living. These songs are called prashasthi. This is a tradition in the country from ancient times and is still practiced today). Yasa wants to get out of this mess and live a free life. However, leaving the crown is not that easy. People would recognize him and would bring him back to the palace. He spares his day and night thinking about a way out.

One day king Yasa hears a conversation happening in the palace garden. It is between a bunch of people engaged in garden work. The king secretly comes closer to be surprised that one guy among them looks exactly like him. By listening to the conversation he learns that the guy’s name is Subha. He is telling a story to his friends. It’s about his angelic wife and the wonderful life he is sharing with her. The woman is totally devoted to Subha and does everything to make him happy. She cooks best food in the world and never badmouths him. Above all she never cheats him. Subha ascribes every bit of happiness in his life to her. She brings meaning to his life.

Listening to this, Yasa gets surprised for the second time. Having lived with dozens of women in the palace he exactly knows that every woman is dishonest and deceitful. With a little bit of jealous towards the guy who enjoys a precious gift in life that the king himself doesn’t possess, Yasa decides to check it. The king manages to find Subha’s whereabouts and visits his home while being dressed like him when the wife is alone. The wife welcomes the man who is ostensibly her husband. She makes him sit comfortably, treats him with delicious food, pampers him with a gentle massage and so on. Yasa now turns really envious about Subha. He was true; this woman is an angel.

When the woman’s love drama intensifies Yasa starts feeling guilty. He yells: “Lady, stop! I’m not your husband. I’m the king of this country”. The next moment…………………king is shocked to see that the woman is not shocked. She whispers: “My lord, from the very first moment I knew it. You shook my feelings with your adorable body. I’m mesmerized by your greatness. I’m all yours”.  Loving a king is more beneficial than loving a peasant, isn’t it? Women are generally more materialistic than men.
Being an intelligent guy, Yasa quickly switches his thinking channel from right brain to left brain. His immediate analysis puts him in pleasure due to two reasons.
1. His judgment about women still holds true
2. He has just found an idiot who is suitable for kingship. Subha, who bases his entire life on this dishonest woman, should be a great candidate to be the king.
After this, Yasa himself becomes the mastermind of a conspiracy to deceive the entire nation to believe Subha as the king. Subha is crowned and Yasa finds the free life he ever wanted.


Dear reader, have I convinced you enough on my initial assertion? Are you already a leader? Then, congratulations. More importantly, what about those of you who are not leaders yet? You don’t need to worry, because not being a leader indicates that you still got brains. Now you confront two options. Like in King’s Speech make yourself stupid enough so that you qualify as a leader. Alternatively you can decide to continue to be intelligent, like in Subha & Yasa, while ruining all the chances of being a leader.

Saturday, January 5, 2013

Corporate Research as a Pathway to a Disruptively Better Knowledge-based Business




Following is a summary of the speech I delivered in ITRU Symposium 2012 conducted by University of Moratuwa IT Faculty.


Research carries an enormous potential in bringing a new dimension of thinking into a software production house. On the other hand, innovation happens in a knowledge-based business even without the name board of ‘research’. Regular customer project work contextualizes teams into paradigms where innovation is driven by focused effort and business pressure. Despite of the ostensible limitedness, most of these innovations carry with them elements that can well be functional in entirely different contexts. One duty for a corporate research team is to capture and systematize ad hoc innovations happening throughout an organization. In other words, research teams provide muscle power to workout the collective unconscious in companies.

One prominent challenge for free trade in markets is the tendency of old style companies to generate vendor lock-ins while blocking rivals. Despite of short-term gains this practice has proven to be detrimental for organizations as it discourages innovation and promotes protecting yesterdays’ products and business models. Consequently, products that inflicted lock-ins evolved at a glacial pase, literally making them soft spots to be crushed by rival insurgents that generate disruptively new kinds of values in oppose to small increments of existing values. Smarter players lean towards every option that make their technologies obsolete as quickly as possible because it is the only sustainable way of triggering fast evolution of products through constant experimentation. Research teams engage in making an organizations’ own technologies obsolete and open for competitors to challenge so that product teams are prompted to keep momentum in bettering their outputs.

Twentieth century businesses focused on producing goods and services effectively and reaching consumers aggressively with push marketing. Consumer experience did not often enjoy a great deal of attention from producers. Intervention of modern information technology has turned this picture by many degrees so that even the giant companies are no more insulated from the effects of individual consumer product experience. Conditions are set for companies to start worrying about creating authentic value for people rather than generating awareness through mass marketing. Research teams provide infrastructure to product teams to enable them in turning great outputs (products) into great outcomes (betters). This effectively creates platforms where organizations can build value conversations with consumers in oppose to old school ‘take-it-or-leave-it’ value propositions. Results are shorter value cycles that induce renewal of organizational resources via its user base: A hallmark in most twenty first century insurgents.

Today smarter players are consistently proving that the traditional practice of squeezing suppliers to make maximum profits is no more sustainable. Generating authentic customer value needs investing on suppliers, ultimately fuelling better kinds of resources flowing through value cycles, expanding the pie for everyone. Identifying this is instrumental for a supplier that plays in the value generation business for end user software producers. When software product companies turn into their suppliers with compassion, the suppliers themselves should be ready with research teams equipped with correct philosophies and tools. Wherever harmony is reached, traditional outsourcing businesses are turned into high value generating, interdependent bodies.

Sunday, October 7, 2012

Let us be realistic and strive for impossible



The title might sound self-contradictory. I will try to elaborate and unveil a logical congruence. Let me start by asserting that we at 99X Technology share a firm, unique definition when we coin the term “Research and Innovation”. That extends way beyond the common notion of searching for unknown. Learning to research and innovation constitutes a vital skill that marks a transformation in a person’s career, similar to a beginner learning to swim. When you start learning swimming as an absolute novice you will be confronted with enough reasons to give up in the middle while deciding that there is something fundamentally wrong with your body that hinders you from drifting through water. Training sessions will be hard while yielding no immediate result. It will look like you have hit a plateau that can never be surpassed. However, if you are courageous enough to keep on trying with faith, at some instance, all of a sudden, you will find yourself making your way to the deep end. Result is sudden and triumphant, but not incremental. It is discouraging enough in the beginning as it looks like you are not getting any result. Same narration is valid regarding research and innovation. Intention of a researcher is not to exceed the existing thing by a fractional increment, but to generate a new paradigm that makes the existing thing obsolete. Good research and innovation strive to generate new kinds of values rather than quantitatively incremental values. Therefore any serious research and innovation attempt would look from the surface as being insane and impossible. In this ground, only the non-quitters will win.

Recent macro economic turbulences have stressed the dominating political economic system in the contemporary world, capitalism, to reevaluate its principles. Abnormally high frequency of recessions indicates that economies should critically probe into the cornerstones of industrial capitalism that is underpinned by speculated value. Twenty first century world needs companies that generate truly authentic social value and only those companies will flourish. This paradigm shift pushes every player to start worrying about values created for and values borrowed from people, nature and future generations in addition to shareholder value. Empowering customers rather than exploiting, keeping constant conversation around products, creating a value cycle that replenishes resources are the prominent traits of new value system. Companies can no longer enjoy product lock-ins to dominate consumers. The working formula is to give as much control as possible to users and to maintain a platform of interdependence that facilitates recharging of organization’s resources using collective wisdom in community. Players like Google have already proven this by achieving monumental growth and sustainability. A winner in the new world order is a company that can align its strengths along this curve. Challenge for research departments would be to harness the collective thinking in organizations to create unprecedented, disruptive values. This is a challenge that would leave even the biggest company helpless as a single entity. It is necessary that organizations put enough emphasis on outside-in approach to create platforms for different talents to coalesce. Universities are vital in this picture as think tanks with unmolded, young minds.

When somebody tells you that he is into research and innovation you should not forget to ask the key question: “What do you mean?”. Above is our short answer to this in both micro psychological and macro economic levels. This answer is bundled with the friendly invitation for all of you young and great minds to become active players in the new world research and innovation platform created by 99X Technology.

This is an article I wrote for the 3rd quarter issue of Dotitude; the newsletter from 99X Technology to the university students.

Saturday, August 4, 2012

Charity - The new consumer product



So if by the time the bar closes
And you feel like falling down
I'll carry you home tonight

-From the song “We are young”


Please allow me to exercise the brutality of cherry-picking a part of a song to abuse it out of its context. I believe that this is MORALLY justifiable given the GOOD INTENTIONS behind it. This part was particularly picked since it exemplifies a swan song whispered by many people today. Literally, what is the implication here? Let’s try to unreel it.

“Darling, you may be having dozens of friends who surround you to enter the bar and exploit you. None of them will be around when you fall down and REALLY NEED HELP. I will be the angel who comes for the rescue. I’ll give you my shoulder. Remember, not everyone is like me…and it’s just me.”

Really good people, aren’t they? Heavenly beauty of the world emanates from them. But let me shoot a nasty question here. Are you certain that the drunken guy really wants to go home? Aren’t you making his ostensible helplessness a mere vehicle for your own feel-good? Is it that obvious to decide on what the other person needs? The question of morality is not as simple as it appears. It poses the ever-confusing question that “What should I do to be good for other people?”

I assert that exploiters are better people than these good-doers. Exploiters at least do not proclaim their acts to be morally good. They just display the basic human drive of using others for one’s own benefit. Even so the “good-doers” practically do the same thing, they enjoy the luxury of standing on the side of good. Let me bring in an experience of mine.

When in Sweden I developed a habit of having a drink at pubs during weekends. In one of those days I got honestly drunk so that I literally could not walk to the apartment and found my self falling asleep in the road (true thrill in drinking is getting into this state. See here for a rationalization to this). Though I might have looked to be desperately helpless from outside I was enjoying every moment of this. I did not, for any reason, have the intention to reach the prison called the apartment. Road was way too good. At this point, a hero entered into the seen. He was a college student along with his girlfriend. He decided that I really need help (you know; college guys are idiots) and that the help I needed was to be under shelter. Two of them carried me to their hostel. I was physically exhausted and could barely resist. The two angels seemed to be a fresh couple, and the price I had to pay for their “help” was to listen to their stupid love story; the typical early-twenties romantic bullshit. It went for hours and they entirely ruined my day. What they wanted was a passive listener for their nonsense, but it was painted as an angelic act of helping a poor drunken guy.

Isn’t this the same way that charity works in today’s world? On one side you have millions of people pushed into utter depths of poverty. On the other side are the people who have sufficient buying power to let them accessible to the infinite spectrum of enjoyments provided by capitalist goods and services. The problem of the second category is the guilty feeling of being mere consumerists in their daily life. This formulates a fruity condition for a potential demand-supply paradigm. The tired consumerist can spend some of his time and money to make life a little bit better for the ones who are in “desperate need” for it. In return the consumerist can enjoy humanly pleasures of doing something for others supplementary to his otherwise-selfish daily life. This sounds at least not-too-bad and it really works in practice. The rationale is that “one cannot make everybody happy all the time – but he has potential to make some people happy sometimes”.

If you sensed the irony in above logic we can proceed to the next step by rephrasing our original question – now – on charity. Does the charity guy really know what the poor wants? Or, is he just projecting his presuppositions on the deprived for his own feel-good? I can assume two major rebuttals against this.

1    1. See the faces of those innocent people and if you are human, you will recognize that they need it
2    2. There are humanitarian organizations that work closely with poor. If you go through them your money is highly likely spent on something the poor really needs.

I’ll develop my counter argument for both of them in one shot. What is the true reason for poverty? I do not buy the religious bullshit on this, namely Karma, which says that poor became poor because they did not do sufficient good karma during their previous births. It is also not rational to land on the idea that poverty is a random plague on some unlucky or lazy people. The reason for poverty is entirely political. There are enough facts to believe that it is an organized crime. Utter poverty is a logical result of the dominant political force in today’s world which is none other than capitalism. Charity is an unthinking, immediate reaction to the popular definition of poverty under capitalism; the definition given to a problem by the process that created the problem. It can be proven that the world is resourceful enough for every human being to enjoy an acceptable level of living if not for a political process that systematically excludes a slice of population making them deprived of even the basic needs while rewarding another slice an amount of wealth that a human being does not deserve to possess. 

The system doesn’t stop from throwing the poor into an abyss of hopelessness. It proceeds to the next inhuman stage of articulating what those people really need. This is therefore a double crime. All what the humanitarian organizations do is romancifying the frustration of the oppressed so that it is put in a rhetoric form to be consumed by the charity guys. To put it bluntly, the system expels poor in the first place and then absorbs their misery back into it as a consumable product. In contrary, a good system would be one that sets conditions for people to have access to resources that enable them to realize for themselves what they really want and strive for it on their own. In no way I’m claiming that state-controlled socialism is this good system. Humanity has to find a better solution.

Imagine a guy buying an iPad. Effectively he has certain materialistic and psychological needs and spends money on a product that fulfills the need. The world does not get changed due to his consumption of the item, and it is not expected though. Now let us compare this with someone who spends time or money on charity. The person has a certain psychological need for feel-good and spends money to buy the charity product. Personal need fulfillment is obviously achieved. However, does this cause any change in the world? Statistics show that poverty in the world has been only becoming worse despite of millions of goodwill seekers pumping billions of dollars on charity. Just as the first case (iPad) the second act too does not do anything to make a difference in the world. Why is the need for making the second act sacred compared to the first? I claim that the second act is worse than the first in moral terms. The iPad guy just fulfills his need with a material product whereas the charity guy plays with someone else’s personal human space to fulfill his own need. In its purest definition, charity is another form of violence. Is it unfair to label the act of those two angels on me as violence?

Some people claim that those who are rich enough should give a part of their wealth away to alleviate problems of the poor to make sure that they don’t fire up violent revolutions against the system. But what is the system that these guys are trying to protect? It is the very system that cultivates poverty. The ostensible good-doers are saviors of an evil system. I think here I am logically permitted to proclaim that charity guys are worse people than selfish guys.

Nonetheless, isn’t it good to make someone HAPPY even for a short moment? Didn’t the eyes of those innocent kids say that they were having the moment of their lives when they received your charity? I think what works here is Hegel’s master-slave theory on human relationships. According to him, every human relationship is of master-slave nature and the slave implicitly knows what to pretend to make the master happy. The poor implicitly know what sort of dialogs to throw and what kind of facial expressions to make in order to please the charity master. What they don’t know is that these masters are great protectors of a system that consciously put them in their current situation. If I were a poor kid I would prefer death to charity.

Capitalism always comes up with innovative products to maintain the dynamics of global capital. I think charity is one of these new products. The ideology today is that the solutions for problems such as poverty, natural disasters and power crisis are already well thought in the macro level and what remains to be done is to enact micro level individual duty to realize macro solutions. The drive is to act without thinking. However, a close examination of these proposed individual responsibilities would reveal that they would not bring the world anywhere more than serving to global capitalism. Humanity is far away from any acceptable macro level solution to any of these problems. An honest attempt to solve them would require enormous amount of thinking to question the way that the current questions are posed before forming a solution. Thinking is not about solving problems the way they are presented to you. The way a problem is presented can constitute a part of the problem itself.


Tuesday, June 12, 2012

Speech in JCSSE 2012


I presented two papers (sponsored by 99XTechnology) in the "Ninth International Joint Conference on Computer Science and Software Engineering". It was organized by IEEE Thailand section and was held in University of Thai Chamber of Commerce. Paper titles were "Towards Structured Log Analysis" and "A Software Monitoring Framework for Quality Verification". Following is the starting section of my speech on the first paper and links to both presentations in SlideShare.

"Good Morning! I'm Dileepa from 99XTechnology, a product engineering company with more than a decade of history. The work I'm presenting is a research inspired by our constant strive for shining the quality of our customers' products. I guess it will help to start with a comparison between application development and product engineering. When one talks about application development he practically speaks in terms of deals. It's a one time thing. You get a contract, cut the code, ship the application, and you are done! In contrast, product is something one typically has to look after, may be through generations. It sounds more like a relationship than a deal. Now you have to start worrying about long term artifacts around the product. You have to seriously think about the smartest possible ways to ensure that the product serves its intended purpose in long run. Without many arguments, log management is one of these ways. 
Use of log files is as old as use of software products. Log management, as an industrial practice is a vast domain. It includes dealing with different log sources such as local files, network shares, databases and data streams, real time data presentation, log archiving, processing, searching and dashboard visualization. Goals of our research were two-fold; we wanted to do a thorough study on available log management solutions to come up with a review so that there's a central reference for everyone interested in the subject. Despite of its importance, log management is an overlooked discipline in academic research. Not much literature is available in this domain, so a study into the current state would help. Secondly, we attempted to solve an existing problem in log analysis, which is a prominent subdomain in log management. You can find the details in the paper. I'll briefly describe the work..."